2015-11-06 28 views
1

未運行的應用程序由iOS在進入iBeacon區域時啓動。第一種方法是- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions :(NSDictionary *)launchOptions。由於啓動原因可能不同,我希望能夠從啓動選項中檢測是否啓動是由於輸入特定(我正在監視的)iBeacon區域或不是。這可能嗎?應用程序didFinishLaunchingWithOption:檢測進入iBeacon區域後是否啓動應用程序

我從ApplicationDelegate文檔中找到了以下內容,但我不相信這是正確的,因爲它沒有直接提及iBeacons。

UIApplicationLaunchOptionsBluetoothCentralsKey這個 鍵的存在表明該應用程序以前有一個或多個CBCentralManager 對象,並通過藍牙系統重新啓動,繼續與這些對象相關聯的動作 。此鍵的值是包含一個或多個NSString對象的NSArray 對象。

數組中的每個字符串表示中央管理器對象的恢復標識符。當您初始化 中央管理器對象時,這是您分配給 CBCentralManagerOptionRestoreIdentifierKey鍵的相同字符串。系統僅爲中央管理器提供 恢復標識符,這些中央管理器處於活動狀態或正在等待外圍設備連接或正在掃描外圍設備。

適用於iOS 7.0或更高版本。

回答

2

要查看信標檢測是否啓動了您的應用程序,請檢查UIApplicationLaunchOptionsLocationKey。這不會告訴你哪個CLBeaconRegion條目啓動了你的應用程序。爲此,您必須等待後續didEnterRegion並檢查傳遞的值。

+0

謝謝,這是高明的。 – mm24

相關問題