Подтвердить что ты не робот

Контейнеры iCloud ubiquity не очищаются при удалении приложения?

Я добавляю iCloud с Core Data в приложение, которое уже существует в магазине приложений, поэтому мне нужно протестировать сценарии обновления. Тем не менее, когда я удаляю свое приложение с моего устройства и переустанавливаю его с Xcode, я заметил, что все внутри моей контейнера контейнера для ubiquity на устройстве сохраняется! Это невероятно раздражает, так как iCloud начинает путаться при попытке загрузить файлы из каталога журналов транзакций, которые я указал, и часто не хватает времени. Мне нужно указать новое местоположение журнала транзакций, чтобы заставить его работать снова, что, очевидно, не будет работать в будущем для моего тестирования.

Ниже приведена ошибка, которую я получаю:

PFUbiquitySafeSaveFile waitForFileToUpload:: CoreData: Ubiquity: (0) Постоянное Местоположение::/private/var/mobile/Library/Mobile Документы /XXXXXXXXXX ~ appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa ~ o8hF4bunW ~ zmdS_C8om5efuugxRaA =/receipt.0.cdt   safeLocation:: /Частный/вар/мобильный/Library/Mobile Документы /XXXXXXXXXX ~ appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa ~ o8hF4bunW ~ zmdS_C8om5efuugxRaA =/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20.0.cdt   Текущее местоположение:: /Частный/вар/мобильный/Library/Mobile Документы /XXXXXXXXXX ~ appnamegoeshere/DatabaseTransactionLogs/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20/iCloudData/8u0BfiCwOkHHa ~ o8hF4bunW ~ zmdS_C8om5efuugxRaA =/mobile.8A0C3F8A-4077-57D7-8250-6BE15D1BCD20.0.cdt

kv: (null)

Безопасное сохранение не удалось для файла, ошибка: Ошибка домена = NSCocoaErrorDomain Код = 512 "Выгрузка файла завершена". UserInfo = 0x1e5b6b10 {NSLocalizedDescription = Выгрузка файла завершена.}

Кто-нибудь знает, как очистить контейнер содержимого между установками приложений? Даже удаление контейнера ubiquity из настроек приложения и его повторная публикация не устраняет эту проблему. Потребитель в теории мог бы решить эту проблему, просто удалив приложение, а затем удалив файлы iCloud для него. Эта проблема действительно разочаровывает, чтобы определить, в чем причина проблемы - любые предложения оценены!

4b9b3361

Ответ 1

После долгих ударов головой я смог понять это. Кто-то сказал мне, что вы можете увидеть все свои данные iCloud для своего устройства, если вы перейдете на сайт developer.icloud.com и войдите в свою учетную запись iCloud. Проделав некоторые тесты с этим, я смог убедиться, что данные на сервере iCloud были немедленно удалены, когда я сказал ему удалить с моего устройства. Однако все папки и файлы, которые я создал в моем контейнере ubiquity на моем устройстве, остались, даже если я удалил свое приложение.

Моя работа заключалась в том, чтобы проверить, когда вы впервые настраиваете приложение для использования iCloud, и посмотрите, были ли мои каталоги уже в контейнере ubiquity. Если бы они были, я вручную удалю каталоги и все файлы в них со следующим кодом:

 [fileManager removeItemAtPath:[[fileManager URLForUbiquityContainerIdentifier:nil] path] error:&error];

Ответ 2

Вот как должен работать iCloud. Удаление приложения на одном устройстве автоматически не удаляет данные iCloud. Если приложение все еще установлено на других устройствах, использующих одну учетную запись, они все равно могут использовать данные.

Если вы хотите очистить данные iCloud во время тестирования, перейдите в Настройки → iCloud, развернитесь к своему приложению и удалите данные.