2016-06-11 63 views
0

我正在開發一個充當BLE中心的iOS應用程序。 如果檢測到外圍設備,我想重新啓動應用程序,即使它終止。無法重新啓動作爲BLE中央管理器的iOS應用程序

我按照蘋果編程指南的「在背景中執行長期操作」一節創建了我的中央管理器。 https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html#//apple_ref/doc/uid/TP40013257-CH7-SW1

但是,僅在特定條件下重新啓動。

  • 啓動[RUN]在Xcode和進入研究背景推iPhone,然後選擇[停止]的[HOME]上的Xcode

在這種情況下,我的應用程序重新開張([應用didFinishLaunchWithOption]和[中央willRestoreState]被稱爲)在外圍設備開始廣告後。

在下面的情況下,我的應用即使在外圍設備開始廣告後也不會重新啓動。

  • 開始[RUN]和上的Xcode [STOP](停止時的應用程序。在前景)
  • 當應用程序。在後臺,雙擊iPhone上的[HOME]並終止該應用程序。向上滑動。
  • iPhone
  • 的重啓

後,我創建並正常啓動我的中央管理器。

NSDictionary *options = @{ 
     CBCentralManagerOptionRestoreIdentifierKey : kBlitCentralMgrRestoreIdKey, 
     CBCentralManagerOptionShowPowerAlertKey : @YES, 
    }; 
    self.centralMgr = [[[CBCentralManager alloc] initWithDelegate:self queue:nil options:options] autorelease]; 

如果您有任何想法來解決該問題,請讓我知道。 我很感謝你的合作。

回答

0

如果您從應用程序切換器中將應用程序從應用程序切換器中刪除,操作系統將不會重新啓動它。對於依賴後臺應用刷新的應用來說,情況也是如此。

+0

比你的回覆。我在[http://stackoverflow.com/questions/21446721/wake-up-ios-app-when-a-bluetooth-device-is-near-by?rq=1](http://stackoverflow.com .com/questions/21446721/wake-up-ios-app-when-a-bluetooth-device-is-near-by?rq = 1)和[http://stackoverflow.com/questions/31070459/launching-ios -ble-中央應用程序上iphone-重啓?RQ = 1](http://stackoverflow.com/questions/31070459/launching-ios-ble-central-application-on-iphone-reboot?rq=1) –

相關問題