关闭'applicationDidEnterBackground'中的应用

时间:2013-01-17 20:09:22

标签: ios objective-c facebook-ios-sdk

我有一个iOS应用程序,出于几个原因,我需要在用户单击设备的主页按钮时将其关闭。我不能支持背景。

我现在有一个名为Application does not run in background的选项,但是我无法使用它,因为Facebook sdk存在一个错误,当使用此选项时,无法通过Facebook进行身份验证。 Here is the bug report at Facebook

所以我不知道该怎么办,我怎么能重新开始呢? [[NSThread mainThread] exit]中的applicationDidEnterBackground

有解决方法吗?

2 个答案:

答案 0 :(得分:0)

普通旧stdlib.h exit()会终止该应用,但会违反apple guidelines(请参阅“不要以编程方式退出”)。

如果您不启动任何后续操作,您的应用将不会执行任何后台操作。

答案 1 :(得分:0)

合法(Apple将批准该应用)方式设置或在UIApplicationExitsOnSuspend中创建YESInfo.plist的密钥。

要将此作为操作,您需要exit(0)[[NSThread mainThread] exit],但这违反了Apple的人机界面指南

所以你还可以做的就是以他们具有重置功能的方式设计你的所有视图。然后当applicationDidEnterBackground存储您需要在下次启动时重置或直接在applicationWillEnterBackground

中的所有有效视图上调用重置时

所以你的应用程序没有真正重启,但你的所有观点都是这样的。为了给你一个建议,我会设计我的应用程序,当它退出时它不会自动关闭。这不是一个好的用户体验..一旦点击主页按钮,您的所有数据都会消失,当您接到电话时也是如此。