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

90
有人已经弄清如何在 Xcode 13 中添加/编辑 Info.plist 的值了吗?我发现他们将 Info.plist 从导航窗格中移动了...但尽管我能找到它,我不确定如何编辑它。
5个回答

178

这是一个“特性”。

您不再需要它。来自发布说明

从几个模板创建的项目不再需要配置文件,如授权和 Info.plist 文件。在目标的 Info 标签中配置常见字段,在项目编辑器中配置构建设置。当使用其他字段时,这些文件将添加到项目中。(68254857)

因此,您可以在此处编辑 NSCameraUsageDescription 等属性,而不是在 Info.plist 中进行编辑:

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

Options similar to those previously found in Info.plist

第一次添加或编辑时,Xcode将自动生成一个新的Info.plist文件,该文件与Custom iOS Target Properties同步。稍后Xcode将为您合并它们。

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


想要完整的Info.plist文件吗?

您可能希望将应用程序的所有属性放在一个地方。 或者您可能不信任Xcode进行合并。 我在WWDC21上与一位Apple工程师谈过这个问题......以下是如何获取经典的Info.plist文件。

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

Property List option selected in new file popup

  1. 将其命名为Info.plist

File will be saved in the same file hierarchy level as ContentView.swift

  1. Project -> Targets -> Info -> Custom iOS Target Properties复制并粘贴现有值到Info.plist
复制 粘贴
Individual row inside Custom iOS Target Properties selected Row pasted into Info.plist

注意:目前您只能选择和复制一行。如果您想节省时间,这里是XML格式的默认内容。要使用此选项,请右键单击Info.plist -> 打开为 -> 源代码,然后粘贴。

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

Full path selected

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

完整路径已粘贴

  1. Generate Info.plist File 设置为 No

在选择行后弹出是或否选项

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

在复制的捆绑资源中选择 Info.plist

是的,这很多。但是,无论您是否想要经典的Info.plist都由您决定 - 都可以,并且不会改变您的应用程序。


1
第一次添加/编辑时,Xcode会自动生成一个新的Info.plist文件,该文件与自定义iOS目标属性有点同步。之后Xcode会为您合并它们。 - drago
4
我已经编辑过了,但仍然没有plist文件!这些年苹果和Xcode变得一团糟! - drago
6
请注意,不要使用绝对路径来引用 Info.plist 文件,使用相对于项目根目录的路径是可以的,并且在另一台电脑上构建时不会出错。 - Tomáš Kafka
3
在这个新的“plist”中,如何添加一个新属性?我看不到顶部有加号。编辑:明白了。例如,在“Bundle名称”上按加号即可。 - MuSoundiX
9
我的天啊,为什么苹果要拿我们已经习惯的可靠文件和流程来改变它们,而且完全没有任何好处? - Alex Zavatone
显示剩余4条评论

20

在Xcode 14中,发现如何添加/编辑值有点棘手:

  1. 从侧边栏中选择您的目标
  2. 选择信息选项卡
  3. 将鼠标悬停在列表中的任何项目上以显示+/-按钮
  4. 点击+按钮
  5. 从选项中选择某个内容(这是一个非常长的列表)

[更新:通过这种方式添加条目也会创建一个plist文件。它将为空。]

enter image description here


2
我很惊讶这个简单的解决方案没有得到最多的投票。它可以自动创建Info.plist文件,一切都搞定了! - RobMac

3

Xcode 13.3.1,macOS Monterey(12.0.1)

以下是最简单的解决方案,适用于swiftUI和Storyboard项目。如果您找不到info.plist并想要添加目标属性,例如隐私-相机使用说明和旧版Xcode可以添加的其他内容,这就是解决方案...


***> Select target of you project on top of the files click on Info on
> top of the right side, now you can see "Custom iOS properties" like
> info.plist, do whatever you want.***

目标 > 信息

请参考下面的图片。

enter image description here


3
这也适用于Xcode 14。简而言之,以下是关于此更改的一些信息:
  1. 这里有一个很好的问题说明:https://useyourloaf.com/blog/xcode-13-missing-info.plist/
  2. 这个页面上有一个很好的YouTube视频:https://youtu.be/mml9ZI81VKA
  3. 此问题仅适用于SwiftUI项目而非Storyboard。一旦您对“标准”信息设置进行更改,Xcode实际上会自动在项目导航器中创建一个info.plist文件。然后,您可以在info.plist文件中添加更多的自定义设置。

1
我感谢你指出第三项! - Robby1212

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接