2014-07-02 43 views
0

我是新手編程和一直在使用本網站一段時間,但我不得不問的一切已經回答了某處,但我無法找到答案:主頁按鈕不會終止程序在模擬器

我正在使用Xcode爲Apple AppStore編寫遊戲並在iOS模擬器上測試它。當我「構建並運行當前方案」(Xcode上的播放按鈕)時,我可以測試我的遊戲,當我完成時,我可以點擊「停止運行方案或應用程序」(Xcode上的停止按鈕),當然,它結束了我的比賽。

但是,在iOS模擬器上,我的遊戲圖標與蘋果程序一起出現在主屏幕上,例如「safari」。當我點擊它時,它進入我的比賽,我可以打得很好。然而,當我點擊「主頁按鈕」或「鎖定按鈕」並重新輸入我的遊戲時,遊戲將從我停止的地方繼續;我希望遊戲結束,所以當我重新進入遊戲時,它會回到原來的狀態。

我想知道是否有人有解決這個問題的辦法?提前感謝您的時間和幫助!

+0

這不是一個問題,它是如何工作的。你不能以編程方式殺死你的應用程序或按下主頁按鈕或鎖定按鈕。當主頁按鈕按下應用程序進入後臺並保持在那裏,直到用戶打開它或殺死它。如果你想在應用程序轉到後臺時做一些特殊的事情,你可以在應用程序AppDelegate的applicationDidEnterBackground中做。當主頁按鈕按下最好的事情就是將所有數據保存爲用戶離開時的分數等。 – mohacs

+0

只處理appDelegate事件:applicationWillResignActive或 applicationDidEnterBackground。但是殺死應用程序並不是一個好的解決方案當你的應用程序進入後臺時,我建議你(只是!)將遊戲推出。 – Szu

+3

正常行爲。你也可以在App-Info.plist中添加你想要的。類似於「在後臺運行」來強制退出應用程序。 – Larme

回答

0

使用這個方法返回你的遊戲到原來的狀態在AppDelegate.m

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 
} 

現在,當你點擊home鍵和啓動應用程序下一次它會在你離開的狀態它(但你想這是)。

2

當您在設備或模擬器上點擊主頁按鈕時,您只是「背景」的應用程序。也就是說,你並沒有退出或終止應用程序,而只是將它發送到「閒置」狀態。

如果需要內存,iOS會自動終止/退出處於後臺的應用程序,但您可能會看到的是您背景的應用程序(點擊主頁按鈕),然後點擊遊戲圖標將其打開再次。這會在它停止的地方恢復遊戲。

當您點擊Xcode中的方塊(停止)按鈕時,您正在查殺/退出您的應用程序。如果您從模擬器運行應用程序(而不是通過點擊Xcode中的播放按鈕)並且想要完全退出應用程序,請按兩次Home按鈕或使用Command + Shift + H快捷鍵兩次顯示應用程序切換器,然後只需拖動您的應用程序的卡。

當您再次點擊主屏幕上的圖標時,這將退出應用程序並使其從頭開始啓動。

+0

由於[Larme](http://stackoverflow.com/users/1801544/larme)在評論中提到,當用戶點擊主頁按鈕時,您可以強制您的應用程序退出。 –

相關問題