0

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

- (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 恢复应用程序?

4

1 回答 1

4

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

下图显示了处于“on”状态的选项,因此当用户按下主页按钮时,应用程序实际上已完成。

info.plist 配置

这就是Apple 描述该选项的方式

UIApplicationExitsOnSuspend

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

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

于 2012-01-20T15:04:25.533 回答