Мое приложение использует один документ (UIDocument), чтобы содержать его информацию и никогда не закрывает его, пока приложение открыто. Я реализовал подключение iCloud для сохранения файла, чтобы я мог делиться им через устройства. При использовании симулятора (iOS7) я могу открыть документ и сохранить его. Если я закрою приложение в симуляторе, я все равно могу открыть документ iCloud и работать с ним, когда я перезапущу.UIDocument openWithCompletionHandler получает NO и UIDocumentStateSavingError при открытии документа iCloud после прекращения действия приложения
Я тестирую iPad (iOS7) и симулятор для разработки обновлений между устройствами. Я могу успешно открыть документ iCloud (сохраненный симулятором) и увидеть все правильно на iPad. Однако, если я покинул приложение на iPad и перезапустил его, у меня получится success = NO и Document State = UIDocumentStateSavingError в моем openWithCompletionHandler. Я захватил ошибку в методе HandleError и нашел это:
Error
Domain=NSCocoaErrorDomain
Code=257 "The operation couldn’t be completed. (Cocoa error 257.)"
UserInfo=0x14650360 {NSFilePath=/private/var/mobile/Library/Mobile Documents/2A9S2V8BH4~com~mishnookasoftware~selists/Lists.archive, NSUnderlyingError=0x1462b590 "The operation couldn’t be completed. Operation not permitted"}
Это, как представляется, разрешение отказано ошибка. Я дважды проверил сертификат, чтобы гарантировать, что iCloud включен для приложения, и это так. Я тестировал, чтобы изменения, сделанные на моем iPad, были перенесены в iCloud, оставив приложение в симуляторе и перезапустив его, чтобы увидеть обновления.
Я закрываю документ iCloud в приложении приложения делегата. МетодWullTerminate ([iCloudListDocument closeWithCompletionHandler: nil];). Мне интересно, если файл не закрывается должным образом и, следовательно, не может быть повторно открыт после перезапуска.
Я искал StackOverflow и не нашел ничего, что могло бы помочь в моей ситуации. Любая помощь приветствуется.
Что произойдет, если вы запустите iPad первым, прежде чем какой-либо документ существует в iCloud? –
К сожалению, я не знаю, как удалить файл в iCloud, чтобы проверить это. Кроме того, приложение создает документ и начинает сохранять изменения в iCloud после его запуска с использованием iCloud. Я уверен, что у меня получится такая же ошибка, если я выйду из приложения и перезапустится на iPad. –
Перейдите в каталог библиотеки/мобильных документов/на вашем Mac и найдите контейнер appsId и удалите все содержимое. –