【发布时间】:2022-01-12 12:42:11
【问题描述】:
我一直在我的项目中使用Info.plist,但最近我注意到新生成的新项目不再包含它们,而Info.plist 是Xcode 在构建时从目标的Info.plist Values 部分生成的Build settings.
我喜欢这个,因为它允许我从同一个文件夹中发布两个项目(测试版和非测试版),而无需为每个项目修改 Info.plist 的特殊构建步骤。
但是,我注意到:
-
构建设置中缺少许多 Info.plist 键(例如 ITSAppUsesNonExemptEncryption 或 NSLocationAlwaysUsageDescription/NSLocationUsageDescription/NSLocationWhenInUseUsageDescription),因此我无法从那里设置它们。悬停时似乎也没有任何
+符号,这可以让我在该部分添加另一个键。 -
而将
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;添加到.pbxproj文件中的方式(我在某处发现有文档记录)不再有效。
有没有办法在生成的Info.plist 中添加额外的密钥?或者,有没有办法在文件系统中同时拥有Info.plist 文件和构建设置中的Info.plist Values 部分,并使Xcode 在构建期间合并它们?
该部分的外观如下:
【问题讨论】:
-
因为你没有标记这个 [swiftui],我假设它是 UIKit。刚刚创建(在 Xcode 13.1 中)两个新项目 - 是的,如果它是 SwiftUI,您在项目资源管理器中不再有 info.plist 文件。但是 - 如果你创建一个“故事板”项目(实际上是一个 UIKit 项目),你会得到一个。