我希望我的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. Rails背景图片上传导致应用程序超时
- 5. 需要隐藏的过渡时,应用程序从背景iphone
- 6. Android应用程序背景
- 7. Joomla背景应用程序
- 8. Android背景应用程序
- 9. 计算iphone应用程序的背景和前景之间的时间?
- 10. iPhone 6上的iphone应用程序每隔一段时间切换到背景
- 11. 如何在iphone中使用背景应用程序时运行重复过程?
- 12. 使用视频作为iPhone应用程序的背景吗?
- 13. 为使用Storyboard的iPhone应用程序修复背景
- 14. iPhone应用程序图标背景颜色变化
- 15. iPhone应用程序启动不同背景的图像
- 16. 为iphone应用程序设置UILabel的透明背景
- 17. iPhone - 将应用程序发送到背景
- 18. 背景为越狱手机iPhone应用程序
- 19. 在iPhone中的背景下启动应用程序
- 20. 如何更改我的iPhone应用程序的背景图片?
- 21. 发送应用程序到iphone上的背景
- 22. 如何在iphone中运行我的应用程序背景?
- 23. 在iPhone上播放openGl应用程序的背景视频
- 24. 为我的iPhone应用程序设置背景纹理UIView
- 25. 移动iPhone应用程序背景图像
- 26. iPhone背景应用程序显示来电提示
- 27. 如何将背景声音添加到iPhone应用程序
- 28. 如何在iPhone应用程序中更改背景颜色
- 29. 从应用程序设置iPhone的背景图像
- 30. iPhone应用程序 - 内存警告后背景消失
这是有道理的。为了提供更多的洞察力,想象它就像是一个银行应用程序:如果你简单地离开应用程序,你想在你回来的时候拿起你离开的地方。但是,如果您已经完成了一段时间,应用程序会在您回来时开始启动您(为了安全和方便)。认为这仍然是最好的选择? – user1007895
是的,我认为这仍然是最好的选择。 :)你不想要的是几个小时后有人拿到我的手机,并且多任务进入我的银行应用程序并能够使用所有功能,所以存储时间戳,以及当他们回到应用程序时超过5分钟,然后再次启动它们。 :) –
有没有最好的方法来做到这一点?我的整个应用程序生活在1导航控制器。 – user1007895