单击设备上的主页按钮时。这是我的代表的一部分:
- (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恢复应用程序?
答案 0 :(得分:4)
检查info.plist文件并确保未选中“应用程序未在后台运行”。
下图显示状态为“on”的选项,这样当用户按下主页按钮时,应用程序就会有效完成。
这就是Apple describes that option:
的方式UIApplicationExitsOnSuspend
UIApplicationExitsOnSuspend(Boolean - iOS)指定应该终止应用程序而不是在退出时将其移动到后台。与iOS SDK 4.0或更高版本链接的应用程序可以包含此密钥,并将其值设置为YES,以防止自动选择后台执行和应用程序暂停。当此键的值为YES时,应用程序将终止并从内存中清除,而不是移至后台。如果此键不存在,或者设置为NO,则应用程序将照常移动到后台。
iOS 4.0及更高版本支持此密钥。