iPhone应用程序启动
如何让我的iPhone应用程序每次在同一个地方启动,即我的“主屏幕”?我不希望用户回到他们上次玩的时候 - 在游戏过程中 - 但这就是发生了什么。 在此先感谢您的任何提示!iPhone应用程序启动
您需要将您的info.plist文件中的UIApplicationExitsOnSuspend
密钥设置为YES
。然后,应用程序将在主页按钮被按下时退出,并在重新打开时重新启动。
- (void)applicationWillResignActive:(UIApplication *)application {
[self.navigationController popToRootViewControllerAnimated:YES];
}
/* 当应用程序要由活性移动到不活动状态时发送。对于某些类型的临时中断(例如来电或SMS消息)或用户退出应用程序并开始转换到后台状态时,可能会发生这种情况。 使用此方法可暂停正在进行的任务,禁用定时器并降低OpenGL ES帧速率。游戏应该使用这种方法来暂停游戏。 */
rootviewcontroller是主屏幕.... – 2011-04-06 11:45:06
你怎么知道他是否使用UINavigationController? – 2011-04-06 11:47:47
/* 当应用程序即将从活动状态转移到非活动状态时发送。对于某些类型的临时中断(例如来电或SMS消息)或用户退出应用程序并开始转换到后台状态时,可能会发生这种情况。 使用此方法可暂停正在进行的任务,禁用定时器并降低OpenGL ES帧速率。游戏应该使用这种方法来暂停游戏。 */ – 2011-04-06 11:47:48
这大概只发生,因为你的应用程序并没有真正停止 - 它只是简单地背后。 (如果您在查看跳板时双击主页按钮,它是否显示在底部?如果是,它仍然在运行。)
您可以禁用此行为(因此您的应用在用户点击主页按钮时退出)在您的info.plist文件中设置UIApplicationExitsOnSuspend
键(在Xcode中称为“应用程序不在后台运行”)。有关更多信息,请参阅Apple的Information Property List Key Reference文档。
或者,您可以简单地在应用程序的添加委托中捕获applicationDidEnterBackground:
UIApplicationDelegate方法,并以编程方式处理该情况。 (即:做任何你需要做的事来将你的应用程序重置回“家”屏幕等)
aha是的,它在后台 - 但我没有在我的info.plist文件中显示的UIApplicationExitsOnSuspend字段 - 就好像它认为它是一个3.2文件? – 2011-04-06 11:59:01
设置UIApplicationExitsOnSuspend
到YES
int Info.plist
。
感谢所有这些回应! - 好吧,我现在看到它是一个iPhone4领域;但我不想瞄准3.2,所以它在旧手机上运行? – 2011-04-06 11:54:30
嘿谢谢! - 但我甚至没有在我的info.plist中看到这个成员 - 它是仅限于iPhone4的字段吗? – 2011-04-06 11:51:04
它只在iPhone 4上执行任何操作,但您可以安全地将其添加到早期操作系统的info.plist文件中;它将在3.x和2.x上被忽略。 – peterjb 2011-04-06 12:50:52
只需在plist中创建一个新条目,将键粘贴到键列中,键入BOOL类型,然后选中该框 - 它将起作用。它不一定会在Xcode中得到简单的英文翻译。 – peterjb 2011-04-06 12:57:34