2011-04-06 255 views
2

如何让我的iPhone应用程序每次在同一个地方启动,即我的“主屏幕”?我不希望用户回到他们上次玩的时候 - 在游戏过程中 - 但这就是发生了什么。 在此先感谢您的任何提示!iPhone应用程序启动

回答

6

您需要将您的info.plist文件中的UIApplicationExitsOnSuspend密钥设置为YES。然后,应用程序将在主页按钮被按下时退出,并在重新打开时重新启动。

+0

嘿谢谢! - 但我甚至没有在我的info.plist中看到这个成员 - 它是仅限于iPhone4的字段吗? – 2011-04-06 11:51:04

+0

它只在iPhone 4上执行任何操作,但您可以安全地将其添加到早期操作系统的info.plist文件中;它将在3.x和2.x上被忽略。 – peterjb 2011-04-06 12:50:52

+0

只需在plist中创建一个新条目,将键粘贴到键列中,键入BOOL类型,然后选中该框 - 它将起作用。它不一定会在Xcode中得到简单的英文翻译。 – peterjb 2011-04-06 12:57:34

2
- (void)applicationWillResignActive:(UIApplication *)application { 

[self.navigationController popToRootViewControllerAnimated:YES]; 

} 

/* 当应用程序要由活性移动到不活动状态时发送。对于某些类型的临时中断(例如来电或SMS消息)或用户退出应用程序并开始转换到后台状态时,可能会发生这种情况。 使用此方法可暂停正在进行的任务,禁用定时器并降低OpenGL ES帧速率。游戏应该使用这种方法来暂停游戏。 */

+0

rootviewcontroller是主屏幕.... – 2011-04-06 11:45:06

+0

你怎么知道他是否使用UINavigationController? – 2011-04-06 11:47:47

+0

/* 当应用程序即将从活动状态转移到非活动状态时发送。对于某些类型的临时中断(例如来电或SMS消息)或用户退出应用程序并开始转换到后台状态时,可能会发生这种情况。 使用此方法可暂停正在进行的任务,禁用定时器并降低OpenGL ES帧速率。游戏应该使用这种方法来暂停游戏。 */ – 2011-04-06 11:47:48

3

这大概只发生,因为你的应用程序并没有真正停止 - 它只是简单地背后。 (如果您在查看跳板时双击主页按钮,它是否显示在底部?如果是,它仍然在运行。)

您可以禁用此行为(因此您的应用在用户点击主页按钮时退出)在您的info.plist文件中设置UIApplicationExitsOnSuspend键(在Xcode中称为“应用程序不在后台运行”)。有关更多信息,请参阅Apple的Information Property List Key Reference文档。

或者,您可以简单地在应用程序的添加委托中捕获applicationDidEnterBackground:UIApplicationDelegate方法,并以编程方式处理该情况。 (即:做任何你需要做的事来将你的应用程序重置回“家”屏幕等)

+0

aha是的,它在后台 - 但我没有在我的info.plist文件中显示的UIApplicationExitsOnSuspend字段 - 就好像它认为它是一个3.2文件? – 2011-04-06 11:59:01

1

设置UIApplicationExitsOnSuspendYES int Info.plist

+0

感谢所有这些回应! - 好吧,我现在看到它是一个iPhone4领域;但我不想瞄准3.2,所以它在旧手机上运行? – 2011-04-06 11:54:30

相关问题