Ошибка Apple HealthKit -> некоторые разрешения отключаются автоматически при перезапуске приложения
Эта ошибка затрагивала разных пользователей (iPhone 11,2 - iPhone12,3 и т. д.) в разных версиях iOS (iOS 15.xx). ) Репродукция:
- При запуске нашего приложения мы вызываем healthStore.requestAuthorization для viewDidLoad контроллера представления.
- HealthKit предлагает нам экран разрешения, мы включаем все, все работает в приложении
- Пользователь помещает приложение в фоновый режим и заходит в «Настройки» -> «Здоровье»…. и проверяет, что все разрешения для нашего приложения успешно включены.
- Пользователь перезапускает наше приложение
- Пользователь продолжает получать запросы на подмножество разрешений (например: я получал конкретно: активная энергия, дистанция езды на велосипеде, частота сердечных сокращений, дистанция плавания, прогулка + дистанция бега (запросы на чтение и запись)
- Пока запрос все еще открыт, вернитесь в Настройки -> Здоровье .... и мы увидим, что эти разрешения были отключены автоматически. Ожидаемое поведение:
ОС не должна автоматически сбрасывать разрешения, предоставленные пользователем, это создает проблемы, поскольку теперь нам нужно запрашивать пользователя каждый раз (используя ожидаемое поведение healthStore.requestAuthorization)
Apple не отвечает