MKUserTrackingButton превращается в счетчик, когда не предоставляется разрешение для служб определения местоположения - PullRequest
0 голосов
/ 14 мая 2018

Я добавил новый Apple MKUserTrackingButton в свое приложение на карте. Он отлично работает, когда пользователь ранее дал разрешение на использование служб определения местоположения (например, CLAuthorizationStatus.authorizedWhenInUse).

MKUserTrackingButton default

Однако, когда пользователь отказал в разрешении или статус разрешения не определен, кнопка отслеживания пользователя превращается в индикатор активности (он же спиннер) и никогда не прекращает вращаться.

MKUserTrackingButton spinning without permission

Вместо этого я хотел бы показать предупреждение о разрешении iOS, как в приложении Apple Maps, или хотя бы какое-то предупреждение, чтобы дать пользователю подсказку, почему оно не работает. Естественно, я также хочу, чтобы индикатор активности остановился и превратился в значок «стрелки компаса» по умолчанию.

К сожалению, MKUserTrackingButton не является подклассом UIButton, поэтому я не могу добавить к нему какие-либо цели, и, похоже, нет API для изменения визуального статуса кнопки.

Есть идеи, как это сделать?

...