问题描述
有没有人想出如何在 Xcode 13 的 Info.plist
中添加/编辑值?我看到他们从导航器窗格中移动了 Info.plist
...但是虽然我可以找到它,但我不知道如何编辑它。
解决方法
这是一个“功能”。
你不再需要它了。来自Release Notes:
从多个模板创建的项目不再需要配置文件,例如权利和 Info.plist 文件。在目标的信息选项卡中配置通用字段,并在项目编辑器中构建设置。当使用附加字段时,这些文件将添加到项目中。 (68254857)
因此,不要在 Info.plist
内编辑属性,例如 NSCameraUsageDescription
:
Project -> Targets -> Info -> Custom iOS Target Properties
第一次添加/编辑时,Xcode 会自动生成一个新的 Info.plist
文件,该文件与 Custom iOS Target Properties
同步1。 Xcode 稍后会为您合并它们。
[1]:它们没有完全同步。某些属性(如 NSCameraUsageDescription
)只会出现在自定义 iOS 目标属性中,而 Application requires iPhone environment
会同时出现在两者中。我不知道 Xcode 如何确定这一点。
想要Info.plist
完全回来吗?
您可能希望将应用的所有属性集中在一处。或者您可能不信任 Xcode 进行合并。我在 WWDC21 上与一位 Apple 工程师就此进行了交谈……以下是让经典 Info.plist
回归的方法。
- 创建一个新的“属性列表”文件(File -> New -> File)
- 将其命名为
Info.plist
- 将现有值从
Project -> Targets -> Info -> Custom iOS Target Properties
复制并粘贴到Info.plist
。
注意:目前您一次只能选择和复制 1 行。如果您想节省一些时间,这里是 XML 格式的 default contents。要使用它,请右键单击 Info.plist
-> 打开为 -> 源代码,然后粘贴。
- 将路径复制到属性检查器中的
Info.plist
。
- 在此处粘贴路径:
Project -> Targets -> Build Settings -> Info.plist File
- 将
Generate Info.plist File
设置为否
- 最后一步。从
Info.plist
中删除Copy Bundle Resources
(选择,然后按 - 按钮)。
Project -> Targets -> Build Phases -> Copy Bundle Resources
是的,太多了。但是,您是否想要经典的 Info.plist
取决于您 - 两者都很好并且不会改变您的应用。