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

问题描述

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

解决方法

这是一个“功能”。

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

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

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

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

Options similar to those previously found in Info.plist

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

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


想要Info.plist完全回来吗?

您可能希望将应用的所有属性集中在一处。或者您可能不信任 Xcode 进行合并。我在 WWDC21 上与一位 Apple 工程师就此进行了交谈……以下是让经典 Info.plist 回归的方法。

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

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

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

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

Full path selected

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

Full path pasted

  1. Generate Info.plist File 设置为

Yes or No popup after selecting row

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

Info.plist selected in Copy Bundle Resources

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...