Приложение, которое не было запущено, запускается iOS при входе в регион iBeacon. Первый вызываемый метод — - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions. Поскольку причина запуска может различаться, я хотел бы иметь возможность определить из параметров запуска, был ли запуск связан с входом в конкретный (тот, который я отслеживал) регион iBeacon или нет. Это возможно?
Я нашел следующее из документации ApplicationDelegate, но я не уверен, что это правильно, поскольку в нем нет прямого упоминания об iBeacons.
UIApplicationLaunchOptionsBluetoothCentralsKey Наличие этого ключа указывает на то, что приложение ранее имело один или несколько объектов CBCentralManager и было перезапущено системой Bluetooth для продолжения действий, связанных с этими объектами. Значением этого ключа является объект NSArray, содержащий один или несколько объектов NSString.
Каждая строка в массиве представляет собой идентификатор восстановления для объекта центрального менеджера. Это та же строка, которую вы присвоили ключу CBCentralManagerOptionRestoreIdentifierKey при инициализации объекта центрального менеджера ранее. Система предоставляет идентификаторы восстановления только для центральных менеджеров, которые имели активные или ожидающие подключения к периферийным устройствам или сканировали периферийные устройства.
Доступно в iOS 7.0 и более поздних версиях.