我如何告诉iOS我不希望该应用程序留在后台?
有没有办法告诉iOS我不希望我的应用程序留在后台? 换句话说,我可以告诉我的应用程序在进入后台时自行退出吗?
我在我的UITbarController中的一个选项卡中使用ABPeoplePickerNavigationController
。 但是,只要到达[ABMembersViewController applicationDidResume]
,它就会以EXC_BAD_ACCESS崩溃。
堆栈跟踪如下:
0x00cc5994 mov 0x8(%eax),%eax 0x00cc5991 mov 0x8(%ebp),%eax 0x00cc598d mov %eax,0x4(%esp) 0x00cc5987 mov 0x4e082(%ebx),%eax 0x00cc597f movl $0x0,0x8(%esp) 0x00cc597e pop %ebx ABCGetGroupCount -[ABAccountsAndGroupDataSource hasMultipleAccountsOrGroups] -[ABMembersViewController updateNavigationButtonsInSearchMode:animated:] -[ABMembersViewController updateNavigationButtonsAnimated:] -[ABMembersViewController applicationDidResume]
因此,为了解决它,我认为如果我能够强制应用程序自行终止,我可以很好地阻止程序通过这部分代码。
在info.plist中,将UIApplicationExitsOnSuspend设置为yes
虽然导致应用程序退出而不是暂停可能会通过隐藏它来解决问题,但您应该正确解决问题,并确保您的应用程序可以应对暂停。
用户(在支持它的设备上)通常希望应用程序暂停,并且当他们因任何原因切换到另一个应用程序时,可能会惊讶于您的应用程序崩溃(这是它们看起来的样子)。
如果要回到以前的位置,这将特别烦人,比重新启动应用程序需要更多的努力。
继续……你知道这是有道理的……做得好!
如果没有看到代码的其余部分,就很难确定问题所在。 通常,EXC_BAD_ACCESS表示您尝试将消息发送到已发布的对象。 你可以在viewWillDisappear或类似的方法中发布一些东西,而不是在viewWillAppear中重新初始化它吗?