如何在iPhone中管理多任务

时间:2012-01-20 15:01:27

标签: ios objective-c uiviewcontroller background-foreground home-button

单击设备上的主页按钮时。这是我的代表的一部分:

- (void)applicationWillResignActive:(UIApplication *)application
{
    NSLog(@"resign active");
    //[[NSThread mainThread] cancel];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"enter background");
    //[[NSThread mainThread] cancel];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"enter foreground");
    //[[NSThread mainThread] cancel];
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"terminate");
    //[[NSThread mainThread] cancel];
}

我使用NSLog来了解单击主页按钮时调用的方法。这是在控制台中输出的。

2012-01-20 15:55:55.853 MyApp[5955:11f03] enter background
2012-01-20 15:55:55.855 MyApp[5955:11f03] terminate
Program ended with exit code: 0

因此,当我在后台点击应用程序(点击两次主页按钮)时,它再次启动显示第一个图像,然后是我的第一个uiviewcontroller。

我可以通过哪种方式解析它,并在用户点击主页按钮时从uiviewcontroller恢复应用程序?

1 个答案:

答案 0 :(得分:4)

检查info.plist文件并确保未选中“应用程序未在后台运行”。

下图显示状态为“on”的选项,这样当用户按下主页按钮时,应用程序就会有效完成。

info.plist configuration

这就是Apple describes that option

的方式
  

UIApplicationExitsOnSuspend

     

UIApplicationExitsOnSuspend(Boolean - iOS)指定应该终止应用程序而不是在退出时将其移动到后台。与iOS SDK 4.0或更高版本链接的应用程序可以包含此密钥,并将其值设置为YES,以防止自动选择后台执行和应用程序暂停。当此键的值为YES时,应用程序将终止并从内存中清除,而不是移至后台。如果此键不存在,或者设置为NO,则应用程序将照常移动到后台。

     

iOS 4.0及更高版本支持此密钥。