В последнем выпуске iOS 13 есть 2 основных обновления для Core Location и Core Bluetooth. Пользователь имеет обновления в соответствии с разрешениями приложения.
Следующая ссылка объясняет об обновлении: https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/handling_location_events_in_the_background
https://medium.com/@arora.malika9/whats-new-in-core-location-in-ios-13-1275351686bd
https://medium.com/q42-engineering/apple-location-permission-ios13-1e0e59002889
https://gimbal.com/ios-13-location-permissions/
https://blog.estimote.com/post/186160021855/get-ready-for-ios-13-bluetooth-and-location
В следующих 3 методах триггеры iBeacon доставляются в приложение в зависимости от состояния приложения:
Когда приложение находится в режиме переднего плана / фона:
func locationManager (_ менеджер: CLLocationManager, регион didEnterRegion: CLRegion) {
}
func locationManager (_ менеджер: CLLocationManager, регион didExitRegion: CLRegion) {
}
Когда приложение находится в пробужденном из завершенного / приостановленного состояния:
func application (_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {let dataForLocation = launchOptions? [UIApplication.LaunchOptionsKey.location] как? [String: Any] if dataForLocation! = Nil {
}
}
Настройки проекта следующие:
- Цели -> Подпись и возможности -> Фоновые режимы -> Обновления местоположения, Фоновая выборка и Удаленные уведомления уже включены
- В Info.plist присутствуют следующие элементы:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) uses bluetooth</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>$(PRODUCT_NAME) uses peripheral</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) uses location services</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) uses location services</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) uses location services</string>
<key>allowsBackgroundLocationUpdates</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>bluetooth-central</string>
<string>fetch</string>
<string>location</string>
<string>remote-notification</string>
</array>
Мне не хватает другой поддержки, необходимой для iOS 13? Генерация случайных событий и отсутствие стабильности.