Если вы создаете iOS Framework для обнаружения маяков, применяются те же правила, что и при написании кода в приложении iOS. Вы получите автоматический запуск при входе / выходе из зоны маяка при следующих условиях:
- Bluetooth включен и местоположение включено
- Используйте CoreLocation для успешного получения фоновых разрешений с
locationManager.requestAlwaysAuthorization()
- Звоните
locationManager.startMonitoring(for: beaconRegion)
или CLBeaconRegion
- Настройте
CLLocationManagerDelegate
на получение обратных вызовов где-то в потоке выполнения, запускаемых didFinishLaunching
AppDelegate.
Чтобы это работало с автозапуском, очень важно, чтобы пункты 3 и 4 выполнялись в результате этого вызова didFinishLaunching
. Но на самом деле они не должны появляться внутри самого метода, они могут выполняться внутри фреймворка.
То, что вы должны сделать, это дать указание пользователям вашей структуры помещать вызов метода внутри didFinishLaunching
, который вызывает вашу структуру, чтобы он мог позаботиться о двух нижних элементах выше.