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

Ser*_*ost 6 xcode swift swiftui xcode13

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

rad*_*ley 25

发现如何添加/编辑值有点棘手(使用 Xcode 14):

  1. 从侧面板中选择您的目标
  2. 选择信息选项卡
  3. 将鼠标悬停在列表中的任意项目上即可显示 +/- 按钮
  4. 单击+按钮
  5. 从选项中选择一些内容(列表非常长)

[更新:以这种方式添加条目还将创建一个 plist 文件。它只会是空的。]

在此输入图像描述

  • 我很惊讶这个简单的解决方案没有获得最多的选票。它会自动创建 Info.plist 文件以及所有内容! (2认同)

ahe*_*eze 13

这是一个“特征”。

你不再需要它了。从发行说明

从多个模板创建的项目不再需要配置文件,例如权利和 Info.plist 文件。在目标的信息选项卡中配置公共字段,并在项目编辑器中构建设置。当使用附加字段时,这些文件将添加到项目中。(68254857)

所以,而不是 inside Info.plist,编辑属性如下NSCameraUsageDescription

Project -> Targets -> Info -> Custom iOS Target Properties
Run Code Online (Sandbox Code Playgroud)

与之前在 Info.plist 中找到的选项类似的选项

当您第一次添加/编辑时,Xcode会自动生成一个新Info.plist文件,该文件是一种同步1Custom iOS Target Properties。Xcode 稍后会为您合并它们。

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


想要Info.plist回来,彻底?

您可能希望将应用程序的所有属性集中在一处。或者您可能不信任 Xcode 进行合并。我在 WWDC21 上与一位 Apple 工程师讨论了这个问题......这里是如何让经典Info.plist回归。

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

在新文件弹出窗口中选择的属性列表选项

  1. 命名 Info.plist

文件将保存在与 ContentView.swift 相同的文件层次结构级别

  1. 将现有值从 复制并粘贴Project -> Targets -> Info -> Custom iOS Target PropertiesInfo.plist
复制 粘贴
选择了自定义 iOS 目标属性中的单个行 行粘贴到 Info.plist

注意:目前您一次只能选择和复制 1 行。如果您想节省一些时间,这里是XML 格式的默认内容。要使用它,请右键单击 Info.plist-> Open As-> Source Code,然后粘贴。

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

已选择完整路径

  1. 在此处粘贴路径:
Project -> Targets -> Build Settings -> Info.plist File
Run Code Online (Sandbox Code Playgroud)

完整路径已粘贴

  1. 设置Generate Info.plist File

选择行后弹出是或否

  1. 最后一步。Info.plistCopy Bundle Resources(选择,然后按下-按钮)删除。
Project -> Targets -> Build Phases -> Copy Bundle Resources
Run Code Online (Sandbox Code Playgroud)

Copy Bundle Resources 中选择的 Info.plist

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

  • 天啊,为什么苹果必须采用我们已经习惯的经过验证的真实文件和流程,并在没有任何好处的情况下对其进行更改? (10认同)
  • 请注意 - 不要对 Info.plist 文件使用绝对路径,相对于项目根目录是可以的,并且在另一台计算机上构建时不会中断。 (6认同)
  • 我已经编辑了它,但仍然没有 plist 文件!近年来 Apple 和 Xcode 变得多么混乱啊! (4认同)
  • 嗯,所以在这个新的“plist”中。如何添加新属性?我没有在上面看到一个加号编辑:明白了。例如按“捆绑包名称”上的加号,它就可以工作 (3认同)