【发布时间】:2021-03-18 07:04:59
【问题描述】:
我正在尝试将文件保存到 icloud 驱动器。我会选择简单的版本,我不让用户选择保存文件的位置,我只是将它保存在 icloud 驱动器的根目录中。这是我正在使用的代码:
func exportToFiles() {
for page in pages {
let filename = getDocumentsDirectory().appendingPathComponent((page.title ?? "Untitled") + ".png")
if let image = exportImage(page: page, dpi: 300) {
if let data = image.pngData() {
try? data.write(to: filename)
}
}
}
}
func getDocumentsDirectory() -> URL {
let driveURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents")
return driveURL!
}
我的Info.plist 文件中有这个:
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.mysite.myapp</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>myapp</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
在 UI 中,它看起来很有效,因为在我点击按钮后会有轻微的停顿。但是当我查看我的文件时,那里什么都没有。我做错了什么?
【问题讨论】:
-
您是否仔细检查了 info.plist 文件中的密钥是否与
iCloud.*bundleID*匹配,如果您更改了 info.plist,请增加内部版本号 -
哦,我不知道。我修复了所有这些问题,但它仍然无法正常工作,所以还有其他问题:P 但是谢谢!
标签: ios swift icloud-drive