我希望我的iPhone應用程序在5分鐘後終止。做這個的最好方式是什麼?iPhone應用程序背景超時
回答
我不認爲這是可能的。這麼做的意義何在?
最好的修補程序(不知道你在做什麼)是當你的應用程序進入後臺,然後當它回到前臺時,存儲當前的時間戳,看看5分鐘是否已經過去並重置數據或者其他的東西。
在代碼中明確終止您的應用程序是不好的做法。在任何情況下,您的應用程序在後臺都不會處於活動狀態,您只能在代碼運行時執行任何操作(註冊後臺操作)。
如果您希望自己的應用停止後臺操作,或者將自己重置爲已知狀態(如果該應用在後臺進行了特定時間間隔(例如5分鐘)),則會在應用進入後臺時存儲時間戳並對在任何操作中以及應用程序返回到前臺時適當的時間戳。
你可以嘗試這樣做
LaData=[[NSDate alloc] initWithTimeIntervalSinceNow:300];
[[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate:LaData];
NSDate *ladatadiarrivo=[NSDate dateWithTimeIntervalSinceNow:300];
while ([ladatadiarrivo timeIntervalSinceNow]>0) {
if (ExitFlag) return; //To exit when reactivate
}
//Code to Kill Application
這是有道理的。但是,如何殺掉應用程序並重新啓動它,而不必再次點擊該圖標? – user1007895
你可以用'exit(0)'來殺死應用程序;''但我不知道如何啓動應用程序,真的我不知道即使是可能的。我會嘗試搜索一些關於 – Tommaso
我說托馬斯是正確的。您應該可以使用用戶默認值輕鬆完成此操作。在你的代表你只需要做一些測試..
//See how much time has passed when the app is opened
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSDate *lastUsed = (NSDate*)[userDefaults objectForKey:@"LAST_USED"];
NSDate *now = [NSDate date];
NSTimeInterval interval = [now timeIntervalSinceDate:lastUsed];
if(interval/60 > 5) { //more than 5 min have passed
//Force a login
} else {
//Continue your session
}
}
並確保節省您的時間,當應用程序關閉。
//Save the current time when the app is closed
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:[NSDate date] forKey:@"LAST_USED"];
[userDefaults synchronize];
}
- 1. iPhone應用程序使用MPMusicPlayer背景
- 2. iphone XMPP應用程序運行背景
- 3. 在iPhone中創建應用程序背景前景在iphone
- 4. 需要實現超時功能,當應用程序去背景
- 5. Rails背景圖片上傳導致應用程序超時
- 6. 需要隱藏的過渡時,應用程序從背景iphone
- 7. 應用程序崩潰時背景
- 8. Android應用程序背景
- 9. Android背景應用程序
- 10. Joomla背景應用程序
- 11. iPhone - 在應用程序啓動過程中,應用程序進入背景
- 12. 計算iphone應用程序的背景和前景之間的時間?
- 13. iPhone 6上的iphone應用程序每隔一段時間切換到背景
- 14. 應用程序背景 - 前景狀態
- 15. 如何在iphone中使用背景應用程序時運行重複過程?
- 16. 爲使用Storyboard的iPhone應用程序修復背景
- 17. 使用視頻作爲iPhone應用程序的背景嗎?
- 18. 如何爲iPhone應用程序啓用背景音頻
- 19. 背景藍牙應用程序 - 線程?
- 20. 通過PhoneGap將應用程序移動到iPhone上的背景
- 21. 如何更改我的iPhone應用程序的背景圖片?
- 22. 在iPhone中的背景下啓動應用程序
- 23. 最佳實踐 - iPhone背景應用程序模式
- 24. 在背景中連接到cB-OLP425 iphone應用程序
- 25. 如何管理iPhone應用程序中的背景聲音?
- 26. Ad-hoc發佈中的iPhone背景應用程序?
- 27. 在iPhone應用程序上的默認背景圖像
- 28. 發送應用程序到iphone上的背景
- 29. 在本地iPhone應用程序中重複背景圖像
- 30. iPhone背景應用程序顯示來電提示
這是有道理的。爲了提供更多的洞察力,想象它就像是一個銀行應用程序:如果你簡單地離開應用程序,你想在你回來的時候拿起你離開的地方。但是,如果您已經完成了一段時間,應用程序會在您回來時開始啓動您(爲了安全和方便)。認爲這仍然是最好的選擇? – user1007895
是的,我認爲這仍然是最好的選擇。 :)你不想要的是幾個小時後有人拿到我的手機,並且多任務進入我的銀行應用程序並能夠使用所有功能,所以存儲時間戳,以及當他們回到應用程序時超過5分鐘,然後再次啓動它們。 :) –
有沒有最好的方法來做到這一點?我的整個應用程序生活在1導航控制器。 – user1007895