Xcode 13 中的 Info.plist 在哪里? (缺失,不在项目导航器内)

Where is Info.plist in Xcode 13? (missing, not inside project navigator)

有没有人想出如何在 Xcode 13 的 Info.plist 中 add/edit 值?我看到他们从导航器窗格中移动了 Info.plist...但是虽然我可以找到它,但我不确定如何编辑它。

这是一个“功能”。

你不再需要它了。来自 Release Notes:

Projects created from several templates no longer require configuration files such as entitlements and Info.plist files. Configure common fields in the target’s Info tab, and build settings in the project editor. These files are added to the project when additional fields are used. (68254857)

因此,不要在 Info.plist 中编辑属性,如 NSCameraUsageDescription

Project -> Targets -> Info -> Custom iOS Target Properties

第一次 add/edit,Xcode 将自动生成一个新的 Info.plist 文件,该文件有点同步1Custom iOS Target Properties。 Xcode 稍后会为您合并它们。

[1]:它们没有完全同步。 NSCameraUsageDescription 等一些属性只会出现在自定义 iOS 目标属性中,而 Application requires iPhone environment 会出现在两者中。我不知道 Xcode 是如何确定的。


Info.plist 彻底回来吗?

您可能希望将应用的所有属性集中在一处。或者您可能不信任 Xcode 进行合并。我在 WWDC21 上与一位 Apple 工程师谈过这个问题......这是恢复经典 Info.plist 的方法。

  1. 创建一个新的“属性列表”文件(文件 -> 新建 -> 文件)

  1. 命名为Info.plist

  1. Project -> Targets -> Info -> Custom iOS Target Properties 中的现有值复制并粘贴到 Info.plist
Copy Paste

注意:目前您一次只能select并复制 1 行。如果您想节省一些时间,请使用 XML 格式的 default contents。要使用它,右击 Info.plist -> Open As -> Source Code , 然后粘贴.

  1. 在属性检查器中将路径复制到 Info.plist

  1. 在此处粘贴路径:
Project -> Targets -> Build Settings -> Info.plist File

  1. Generate Info.plist File设置为

  1. 最后一步。从 Copy Bundle Resources 中删除 Info.plist(select,然后按 - 按钮)。
Project -> Targets -> Build Phases -> Copy Bundle Resources

是的,很多。但是,您是否想要经典 Info.plist 取决于您 — 两者都很好,不会改变您的应用程序。

日期:220406

这是 link raywenderlich 教程:https://www.raywenderlich.com/19611194-multiplatform-app-tutorial-swiftui-and-xcode-12

示例项目使用 Xcode 12.0-compatible (objectVersion = 54) 项目格式,使用 Multi Platform 应用程序模板创建。我从这个项目中借用了 plists。在修改示例工程之前,有一个参考工程(结构)来进行比较就好了。