Почему iBeacon не запускает события входа и выхода с момента выхода iOS 13 - PullRequest
0 голосов
/ 17 октября 2019

В последнем выпуске 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 доставляются в приложение в зависимости от состояния приложения:

  1. Когда приложение находится в режиме переднего плана / фона:

    func locationManager (_ менеджер: CLLocationManager, регион didEnterRegion: CLRegion) {

    }

    func locationManager (_ менеджер: CLLocationManager, регион didExitRegion: CLRegion) {

    }

  2. Когда приложение находится в пробужденном из завершенного / приостановленного состояния:

    func application (_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {let dataForLocation = launchOptions? [UIApplication.LaunchOptionsKey.location] как? [String: Any] if dataForLocation! = Nil {

           }
    

    }

Настройки проекта следующие:

  1. Цели -> Подпись и возможности -> Фоновые режимы -> Обновления местоположения, Фоновая выборка и Удаленные уведомления уже включены
  2. В 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? Генерация случайных событий и отсутствие стабильности.

...