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