应用程序didFinishLaunchingWithOption:检测app是否在进入iBeacon区域后启动

时间:2015-11-06 09:18:22

标签: ios ibeacon launching-application region-monitoring

iOS进入iBeacon区域时会启动未运行的应用。调用的第一个方法是 - (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 。由于启动原因可能有所不同,我希望能够检测启动选项,如果启动是由于进入特定的(我正在监控的)iBeacon区域。这可能吗?

我从ApplicationDelegate文档中找到了以下内容,但我不相信它是正确的,因为它没有直接提及iBeacons。

  

UIApplicationLaunchOptionsBluetoothCentralsKey 此存在   key表示该应用程序以前有一个或多个CBCentralManager   对象并由蓝牙系统重新启动以继续行动   与这些对象相关联。此键的值是NSArray   包含一个或多个NSString对象的对象。

     

数组中的每个字符串代表a的恢复标识符   中央经理对象。这是您分配给的相同字符串   初始化时CBCentralManagerOptionRestoreIdentifierKey键   中央经理对象以前。系统提供了   恢复标识符仅适用于具有活动或   等待外围设备连接或正在扫描外围设备。

     

适用于iOS 7.0及更高版本。

1 个答案:

答案 0 :(得分:2)

要查看信标检测是否已启动您的应用,请检查UIApplicationLaunchOptionsLocationKey。这不会告诉您哪个CLBeaconRegion条目启动了您的应用。为此,您必须等待后续didEnterRegion并检查传递的值。