ios - 如何在 Xcode 12 中从 Swift 访问 Info.plist 值
问题描述
我希望能够从我的 iOS 应用程序中访问 Info.plist 中的版本控制值,在 Xcode 12.5 中用 Swift 编写。有问题的键/值是:
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
在 Build Settings 中,两个 Info.plist 值分别包含“1.0”和“8”。我尝试了以下方法:
let appBundleVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String
如果我在 Info.plist 中有用户定义的键/值对,则该方法有效,但不适用于访问系统管理的构建设置。如何访问这两个值?
谢谢。
解决方案
我的问题中暗示了答案。我在 Info.plist 文件中定义了两个用户定义的键/值对:
App_version_number: $(MARKETING_VERSION)
App_build_number: $(CURRENT_PROJECT_VERSION)
并在代码中引用了这些:
let appBuildNumber = Bundle.main.object(forInfoDictionaryKey: "App_build_number") as? String
let appVersionNumber = Bundle.main.object(forInfoDictionaryKey: "App_version_number") as? String
也许有一种直接的方法可以访问构建设置,但这种间接方法效果很好。
推荐阅读
- swift - XCode 12 Swift 5 在关闭窗口之前捕获 NSTextFields 中的编辑
- matlab - 下标索引必须是真正的正整数或逻辑 - Matlab错误
- r - 根据R中的日期变量重组多个变量
- java - Gradle 单元测试未运行
- c# - 我如何使用 c# 进行 Jquery 模态表单验证?
- javascript - Material-UI Select,单击输入时如何在选择上应用 :focus-within 样式?
- linux-kernel - Fusion触摸屏设备树编译错误
- google-cloud-platform - GCP | 如何使用 INFORMATION_SCHEMA 识别 Job_ID 的显示名称
- reactjs - useContext 处理表单输入状态会导致重新渲染并失去输入焦点
- python - 将列表保存到文件中,将另一个列表添加到同一文件中,然后在 google colab 上加载