在Command Line Tools里面读取文件

自定义Bundle文件

Posted by Joker Hook on May 17, 2022

通常,在Command Line Tools里面Xcode无法直接读取外部添加的文档文件。然而可以通过自定义添加一个Bundle来实现对外部文档的读取。

在Xcode里, 选择File –> New –> Target,在Target内选择Bundle,自定义该Bundle的名称,如DataBundle

将文件添加到此捆绑包中。将文件添加到Xcode,然后确保捆绑包在其目标成员资格部分中被勾选:

最后将捆绑包添加到您的目标中。在目标的构建阶段,打开复制文件阶段,然后单击+按钮。选择捆绑包,然后单击添加:

完成上述步骤便可以在程序内读取到文档, 假定文档名字为untitled.txt, 在main.swift内添加如下访问代码:

let currentDirectoryURL = URL(fileURLWithPath: FileManager.default.currentDirectoryPath)
let bundleURL = URL(fileURLWithPath: "DataBundle.bundle", relativeTo: currentDirectoryURL)

if let bundle = Bundle(url: bundleURL) {
    if let path = bundle.path(forResource: "untitled", ofType: "txt") {
        if let contents = try? String(contentsOfFile: path) {
            print(contents)
        }
    } else {
        print("No file Found")
    }
}