У меня нет разрешения на запись в папку iCloud
Я пытаюсь записать файл в вездесущую папку, я могу выполнить запрос, и все работает нормально, я вижу файлы, но если я пытаюсь установить локальный файл, я получаю эту ошибку:
Error Domain=NSCocoaErrorDomain Code=513 "“video.mp4” couldn’t be moved because you don’t have permission to access “DemoExample”." UserInfo={NSSourceFilePathErrorKey=/var/containers/Bundle/Application/3C3DC6B5-7B22-4B1C-B8AB-187F640F68AB/DemoExample.app/video.mp4, NSUserStringVariant=(
Move
), NSDestinationFilePath=/private/var/mobile/Library/Mobile Documents/iCloud~com~Test~DemoExample/Documents/video.mp4, NSFilePath=/var/containers/Bundle/Application/3C3DC6B5-7B22-4B1C-B8AB-187F640F68AB/DemoExample.app/video.mp4, NSUnderlyingError=0x17405c5c0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
Video.mp4 существует в папке, что не так?
Вот код для сохранения файла:
try self.fileManager.setUbiquitous(true, itemAt: URL.init(fileURLWithPath:file.path), destinationURL: iCloudUrl)
Я использую это:
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.Test.DemoExample</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>backup</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
2 ответа
Пожалуйста, следуйте приведенным ниже шагам один за другим. Надеюсь, это решит вашу проблему....
- Включите iCloud из возможностей в области настроек XCode.
- Обновите свой AppID и профиль обеспечения, включив iCloud.
- Добавьте ниже свойство в ваш info.plist.
<key>NSUbiquitousContainers</key> <dict> <key>iCloud.YOUR_BUNDLE_IDENTIFIER</key> <dict> <key>NSUbiquitousContainerIsDocumentScopePublic</key> <true/> <key>NSUbiquitousContainerSupportedFolderLevels</key> <string>Any</string> <key>NSUbiquitousContainerName</key> <string>iCloudDriveDemo</string> </dict> </dict>
- iCloud.YOUR_BUNDLE_IDENTIFIER здесь очень важен. Например, ваш идентификатор пакета - "com.emraz.myapp". Тогда вы должны использовать "iCloud.com.emraz.myapp"
Вот мое решение (@emraz у меня не сработало):
- Удалите приложение на всех устройствах
- Удалите папку в Files.app(iOS), если она видна.
- Удалите все папки, связанные с приложением, из ~ / Library / Application Support / CloudDocs / session / container.
- Удалите все папки, связанные с приложением, из ~ / Library / Mobile \ Documents /
- Перезагрузитесь через несколько минут
- Удалите схему, которую вы используете в XCode
- Добавить новую схему (можно с таким же именем)