macOS CLLocationManager (Базовое расположение) авторизация и UsageDescription - PullRequest
0 голосов
/ 16 марта 2020

К сожалению, в документации Apple неясно, какие запросы авторизации и строки назначения действительно необходимы для macOS.

Также в StackOverflow есть много ответов, в которых строки назначения (macOS / *) 1044 *) смешаны (например, { ссылка }).

Что касается запросов на авторизацию, в inte rnet также существуют различные операторы: некоторые говорят, что это явный вызов (например, requestAlwaysAuthorization()) необходимо, другие говорят, что достаточно вызова типа requestLocation().

В моем коде я использую только requestLocation() (не явно requestAlwaysAuthorization()), и предупреждение о конфиденциальности по-прежнему отображается правильно. Так что мне не нужно явно вызывать предупреждение о конфиденциальности с requestAlwaysAuthorization() в macOS? Если requestAlwaysAuthorization() необходим, почему он доступен только с macOS 10.15 +?

Что касается строк назначения, документация Apple более запутанная, чем просвещающая (https://developer.apple.com/documentation/corelocation/requesting_authorization_for_location_services): purpose-strings

NSLocationWhenInUseUsageDescription : SDK = только iOS (но если я позвоню requestAlwaysAuthorization(), мне придется это указать ...?) NSLocationAlwaysAndWhenInUseUsageDescription : SDK = только iOS (но если я позвоню requestAlwaysAuthorization(), мне придется это указать ...?) NSLocationUsageDescription : SDK = только macOS NSLocationAlwaysUsageDescription : SDK = устарело

В моем приложении macOS я указал только NSLocationUsageDescription . Достаточно ли этого? Нужны ли другие строки назначения, когда я явно вызываю requestAlwaysAuthorization()?

К сожалению, я не могу найти никаких ясных утверждений для macOS по этому поводу в Inte rnet. В этом случае документация Apple неоднозначна и непонятна в моих глазах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...