Я работаю с UIDocuments и iCloud. Я успешно могу записать файл в iCloud, но не вижу его на устройстве и в приложении для файлов.
У меня есть следующее в info.plist.
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.myAppName</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>myAppName</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
Внутри моего кода Я могу создать каталог, а затем записать файл.
var containerUrl: URL? {
return FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("myAppName")
}
let url = containerUrl?.appendingPathComponent("fileName.fileType")
print("url: \(url)")
Печать возвращает:
file: ///private/var/mobile/Library/Mobile%20Documents/iCloud~myAppName/myAppName/fileName.fileType
Я могу проверить и увидеть, что файлы записаны с кодом, таким как:
let boolTest: Bool = !FileManager.default.fileExists(atPath: testUrl!.path, isDirectory: nil)
print("!file exist: \(boolTest)")
На вкладке «Подписи и возможности» моей цели в iCloud я нажал «Документы iCloud» и у меня есть контейнер называется iCloud.myAppName, который назначен моей команде. (Примечание: есть еще две проверки: «Хранилище ключей-значений» и «CloudKit». Я пробовал оба эти способа. Я считаю, что их не следует проверять.)
Несмотря на это, все, кажется, работает хорошо. Я могу видеть через fileExist, что он написан. Однако я не могу видеть документы в приложении «Файл» или просматривать документы через приложение. Только документы на устройстве.
На данный момент, я не уверен, что мне не хватает. У меня также нет никаких идей относительно того, как отладить это.