NSUbiquityIdentityDidChangeNotification не работает для iOS расширения приложения iCloud - PullRequest
0 голосов
/ 21 апреля 2020

Я разрабатываю расширение iOS для провайдера учетных данных автозаполнения.

Расширение использует файл iCloud, который обменивается данными между основным приложением и расширением. Повторно используя код для управления файлами iCloud, я не вижу никаких уведомлений о том, что iCloud был отключен (или включен) для основного приложения (из расширения приложения).

Эта проблема усугубляется тем, что что расширения могут быть прекращены - или нет. Таким образом, пока расширение продолжает работать, оно, похоже, поддерживает то же состояние iCloud при запуске. Вызовы NSFileManager.defaultManager.ubiquityIdentityToken всегда возвращают одно и то же значение внутри добавочного номера (а NSUbiquityIdentityDidChangeNotification никогда не публикуется). Это означает, что после уведомления конечного пользователя о том, что iCloud необходимо включить, он не может обнаружить, что он включен, пока процесс расширения не будет в конечном итоге завершен, а затем перезапущен.

Я видел упоминание о проблемах с CloudKit и NSUbiquityIdentityDidChangeNotification, но я подозреваю, что это больше связано с тем, как процесс расширения приложения управляется iOS.

В идеале у меня был бы механизм для обнаружения изменения доступности iCloud в расширении приложения, или в противном случае это означает прекращение расширения приложения (средствами, приемлемыми для Apple).

...