requestAlwaysAuthorization not showing permission alert

前端 未结 17 1178
我寻月下人不归
我寻月下人不归 2020-12-29 20:19

I\'m trying to use some fancy iBeacons without success, kCLAuthorizationStatusNotDetermined all time. According to other questions it\'s a requirement to add those keys to

17条回答
  •  臣服心动
    2020-12-29 20:56

    Hardware-dependent System Issue?

    iOS 13.1.3, iPhone 7 (model ID "iPhone9,1")

    Seems like system Settings->Privacy->Location in some way cache permissions even after app deletion (at least, during the same iOS session and for specified configuration).

    If 'allow once' is pressed and user deletes and reinstalls and runs the app again, didChangeAuthorizationStatus(_:) sends initial status .denied. (And therefore, according to CLLocationManager logic it does not show prompt alert after requestAlwaysAuthorization()). This .denied status was the root of the evil in this case.

    If user folds the app between initial didChangeAuthorizationStatus(:) and requestAlwaysAuthorization(), this causes next update of didChangeAuthorizationStatus(:) with status other than .denied and prompt alert will be shown.

    iOS 13.1.3, iPhone 7 (model ID "iPhone9,3") - issue does not reproduce. (initial status received is .notDetermined)

    iOS 13.1.2 iPhone 8 - all ok, same as above

提交回复
热议问题