0

我想将一些文件(声音、文本等)从 iOS 应用程序传输到文件应用程序。此外,我想将所有这些项目放入与我的应用程序同名的文件夹中 - 例如 GarageBand 或 KeyNote 就是这种情况。

在 Xcode 中,我确实启用了 iCloud 文档功能——我还定义了一个容器“iCloud.xxx.yyy”——参见下面的代码。

guard let fileURL = Bundle.main.url(forResource: "test", withExtension: "aiff") else { return }

guard let containerURL = FileManager.default.url(forUbiquityContainerIdentifier: "iCloud.xxx.yyy") else { return }

if !FileManager.default.fileExists(atPath: containerURL.path) {
    try FileManager.default.createDirectory(at: containerURL, withIntermediateDirectories: true, attributes: nil)
}

let backupFileURL = containerURL.appendingPathComponent("test.aiff")
if FileManager.default.fileExists(atPath: backupFileURL.path) {
    try FileManager.default.removeItem(at: backupFileURL)
    try FileManager.default.copyItem(at: fileURL, to: backupFileURL)
} else {
    try FileManager.default.copyItem(at: fileURL, to: backupFileURL)
}

当我运行我的代码时,它似乎工作 - 无论如何,我看不到代表我的应用程序名称的文件夹,也看不到文件应用程序中的“test.aiff”文件。我的方法有什么问题?

4

1 回答 1

1

您不需要复制/移动任何文件。您需要的是允许从其他应用程序访问您的应用程序文档。只需转到您的信息列表并允许“支持文档浏览器”。您的 Documents 目录中的所有文档将在那里自动可用。

于 2021-01-19T16:41:53.733 回答