如何将文件文件夹从IOS App捆绑资源复制到文档目录

时间:2019-02-08 16:15:24

标签: ios file copy bundle nsdocumentdirectory

我想在应用程序启动时在IOS App Documents文件夹中预填充txt文件的文件夹结构,复制预先准备的文件文件夹,并将其作为资源添加到我的应用程序包中。

如何浏览IOS App捆绑软件中的分层文件夹结构,并请求每个子文件夹的内容,然后请求每个文件的内容。

1 个答案:

答案 0 :(得分:0)

要列出App Bundle中的项目,可以使用以下代码:

do {
    let fileURLs = try FileManager.default.contentsOfDirectory(at: Bundle.main.bundleURL, includingPropertiesForKeys: nil, options: .skipsHiddenFiles)
    for url in fileURLs {
        print("fileURL = \(url)")
    }
} catch let error {
    // Error Handle
}

要将App Bundle中的文件夹“ MyTextFiles”复制到您的App Document文件夹中:

    do {
        guard let myTextFilesInBundleURL = Bundle.main.url(forResource: "MyTextFiles", withExtension: nil) else { return }
        let docPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
        let myTextFileURL = URL(fileURLWithPath: docPath).appendingPathComponent("MyTextFiles")
        try FileManager.default.copyItem(at: myTextFilesInBundleURL, to: myTextFileURL)
    } catch let error {
        // Error Handle
    }

要在应用启动时执行此操作,可以将此代码放入didFinishLaunchingWithOptionsapplicationDidBecomeActive

希望这会有所帮助。