我希望我的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