我创建了一个应用程序,以便从iCloud驱动器解压缩文件并在iCloud驱动器上提取其内容。目前我可以通过UIDocumentPickerViewController选择我想要解压缩的文件。选择文件后,将触发委托“documentPicker”。
以下是此方法的代码:
func documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL){
let fileManager: NSFileManager = NSFileManager.defaultManager()
if let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil)?.URLByAppendingPathComponent("Documents") {
if (!fileManager.fileExistsAtPath(iCloudDocumentsURL.path!, isDirectory: nil)) {
do{
try fileManager.createDirectoryAtURL(iCloudDocumentsURL, withIntermediateDirectories: true, attributes: nil)
}catch{
print(error)
}
}
SSZipArchive.unzipFileAtPath(url.path, toDestination: iCloudDocumentsURL.path, delegate: self)
}
}
目前,此方法解压缩我在选择器上选择的文件,并将其内容放入iCloud“Documents”文件夹。我可以在设置上看到我的文件 - > iCloud - >管理 - > MyApp的。 但我的目标是不将文件放在此文件夹上,而是将它们放在iCloud驱动器上。
有人知道怎么做吗?
有关信息,这是我的Info.plist部分:
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.fabien.UnzipFile</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
<key>NSUbiquitousContainerName</key>
<string>Privacy</string>
</dict>
</dict>
感谢您的帮助!
修改
我找到了解决方案。有关信息,我只是更改了我的应用程序的版本,以解决我的问题。我认为更改版本的事实会重新扫描Info.plist文件。