2013-11-15 46 views
8

我試圖強制我的應用程序以編程方式自動進入「暫停」狀態,因此我可以在Core藍牙恢復上進行測試。 我曾嘗試致電以編程方式強制iOS 7應用暫停?

[[UIApplication sharedApplication] performSelector:@selector(suspend)]; 

但這只是將它發送到後臺。我做錯了嗎?有沒有更好的辦法?或者是不可能的?

我想提醒大家到底是什麼意思有一個應用程序被暫停,因爲總是在混淆術語: Link to state diagram of iPhone apps 在後臺的應用程序將在系統需要內存得到無限期暫停,但核心藍牙的恢復可以暫時將應用程序發回到後臺狀態。

+0

這可能有一些幫助:[自動UI測試](https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/UsingtheAutomationInstrument/UsingtheAutomationInstrument.html)請參閱多任務測試底端。這不是從應用代碼本身完成的,而是從工具腳本完成的。但它僅用於模擬家庭按鈕按下。 –

+0

我沒有測試過 - 它可能工作:http://stackoverflow.com/a/13525245/653513 –

+1

UIApplication *應用= [UIApplication sharedApplication]; [app performSelector:@selector(suspend)]; –

回答

6

我不知道如何以編程方式執行此操作,但我所做的是按主頁按鈕,然後啓動一些重量級應用程序,如Safari和圖形密集型遊戲。內存壓力導致系統很快終止你的應用程序。然後,核心藍牙應該啓動恢復過程,並在檢測到您連接/請求連接的外設的活動時重新啓動您的應用程序。

+3

哈哈,這是一個好主意。如果沒有辦法通過編程來實現,也許我會製作一個應用程序,有目的地使用盡可能多的內存。 – Jegus

+0

我做了一個不錯的500 MB應用程序,但它仍然非常不可靠。在打開我手機的每個應用程序(包括500 MB的應用程序)之後,我只設法讓我想要測試的應用程序暫停一次。 – Jegus

相關問題