Info.plist缺失部分键值对,如何查找完整系统配置键值对?
解决方法:查找iOS/macOS系统配置对应的Info.plist键值对
首先说明你遇到的现象原因:Xcode 14+创建的新项目中,版本号(CFBundleShortVersionString)、构建号(CFBundleVersion)这类系统级配置,默认不会直接写在项目的源Info.plist文件里,而是通过Xcode项目构建设置自动注入到最终编译后的应用包中,所以你用代码能读取到值,但源文件里看不到。
以下是查找所有系统配置对应键值对的几种实用方法:
1. 用Xcode的可视化plist编辑器查看预定义键
右键项目中的Info.plist文件,选择「Open As」→「Property List」进入可视化编辑界面:
- 点击列表顶部的「+」号添加新键,下拉菜单中列出的就是所有系统预定义的配置项
- 选中任意选项后,编辑器顶部会显示对应的原始键名(比如选中「Bundle versions string, short」,顶部会显示
CFBundleShortVersionString)
2. 查看项目构建设置的映射关系
进入项目TARGETS页面,切换到「Build Settings」标签:
- 搜索「Info.plist」或具体配置(比如「Version」),可以看到构建设置项和plist键的对应关系:
MARKETING_VERSION对应CFBundleShortVersionString(应用版本号)CURRENT_PROJECT_VERSION对应CFBundleVersion(构建号)
- 很多系统配置都可以通过这里的编译选项直接设置,无需手动修改plist
3. 查看编译后最终生效的Info.plist
编译项目后,找到生成的.app包(可在Xcode的「Products」目录右键「Show in Finder」):
- 右键.app包选择「显示包内容」,里面的Info.plist包含了所有实际生效的键值对,包括Xcode自动注入的系统配置
- 右键这个plist文件选择「Open As」→「Source Code」,就能看到完整的键值列表
4. 查阅Apple官方plist键参考
在Xcode中按下Shift+Command+0打开开发者文档,搜索「Information Property List Key Reference」,里面列出了所有iOS、macOS等平台支持的系统级Info.plist键,包含每个键的用途、类型和适用平台。
内容的提问来源于stack exchange,提问作者Stephanovits
相关产品推荐
相关产品推荐

