调用exit()后iOS应用程序仍显示在后台

时间:2015-11-30 15:44:49

标签: ios objective-c cocoa-touch

我正在努力平稳关闭我的应用。

首先我将应用放在后台并尝试使用exit(0)关闭应用:

//home button press programmatically
UIApplication *app = [UIApplication sharedApplication];
[app performSelector:@selector(suspend)];

//wait 2 seconds while app is going background
[NSThread sleepForTimeInterval:2.0];

//exit app when app is in background
exit(0);

我的问题是,当我检查后台运行的应用程序时,该应用程序仍在那里。我以为exit(0)会将其从后台删除。

看来我的应用程序正在最近使用。有没有办法以编程方式从列表中删除它?

2 个答案:

答案 0 :(得分:8)

您无法以编程方式从最近使用过的应用中删除应用。名单。当用户双击主页按钮时,最近使用的应用程序列表就是 - 最近使用的应用程序列表。无论应用程序是在后台完全终止还是暂停,它完全没有任何意义。

致电{{1}}只会终止您的应用。但它最近仍然使用,因此当用户双击主页按钮时它会出现在列表中。

答案 1 :(得分:0)

在XCode中编辑info.plist,添加“应用程序不在后台运行”设置,值为YES,以便每次都退出应用程序:

xcode's info.plist editor showing UIApplicationExistsOnSuspend

设置此项会将UIApplicationExitsOnSuspend添加到info.plist:

<key>UIApplicationExitsOnSuspend</key>
<true/>