在 swift macOS 库应用程序中读取 info.plist

Read info.plist in swift macOS library app

提问人:ccampj 提问时间:6/30/2023 更新时间:6/30/2023 访问量:48

问:

我正在macOS swift中构建一个类库。我在应用文件夹的根目录中创建了一个空的 Info.plist 文件,并添加了一个条目 (LibraryPath)。现在我想读取 plist 文件的内容。我尝试了以下代码,但没有找到文件。最后一个 print 语句只打印“None”。

    func getInfoPlist()-> [String: Any]?{
    print("in getInfoPlist")
    
    var config: [String: Any]?
            
    if let infoPlistPath = Bundle.main.url(forResource: "Info", withExtension: "plist") {
        do {
            let infoPlistData = try Data(contentsOf: infoPlistPath)
            
            if let dict = try PropertyListSerialization.propertyList(from: infoPlistData, options: [], format: nil) as? [String: Any] {
                config = dict
                return config
            }
        } catch {
            print(error)
        }
    }
    
    print(config?["LibraryPath"] ?? "None")
    return nil
    }
Swift macOS 类库

评论

0赞 HangarRash 6/30/2023
仅供参考 - 您无需获取路径、创建数据和使用 PropertyListSerialization。只需使用 .var config = Bundle.main.infoDictionary
0赞 ccampj 6/30/2023
有趣。。。当我运行您的代码时,它确实从标准应用程序 info.plist 文件(它有 42 个条目)返回数据,但似乎来自我的单元测试代码。我该文件夹中没有 plist,那么它会在哪里获取该文件?

答: 暂无答案