如何在 info.plist 文件 xcode ios 中使用 Code 值
Posted
技术标签:
【中文标题】如何在 info.plist 文件 xcode ios 中使用 Code 值【英文标题】:How to use Code value in the info.plist file xcode ios 【发布时间】:2019-02-18 11:57:29 【问题描述】:我想在 info.plist 文件中使用一些自定义常量来全局使用它 例如
<key>FacebookAppID</key>
<string>$(my_custom_constant)</string>
-
如何使这个常量?
如何通过选择调试和发布模式来区分它。例如FacebookAppID 对于调试模式是“abc”,对于发布模式是“xyz”。
【问题讨论】:
info.plist
在运行时是只读的,你的目标是什么?
我在我的应用程序中使用了 facebook API,我在 fb 上制作了 2 个差异应用程序,一个用于调试,另一个用于发布。每当我进行发布构建时,我也必须在 info.plist 中进行更改。我只想一键构建发布版本
【参考方案1】:
在 info.plist 中设置您的自定义变量,如下所示。我这里以“HockeyAppID”为例。
接下来,在“用户定义”下的“构建设置”中为您的情况下的调试和发布配置添加一个变量,如下所示。在这里,我有自己的四种不同的配置。
如您所知,不同的配置值将在运行时根据方案中的设置加载。 为了从 info.plist 访问 HockeyAppId 以进行调试/发布配置,请执行以下操作。
enum InfoPlistKey
static let hockeyappID = "HockeyAppID"
struct AppSettings
private static var infoDict: [String: Any]
if let dict = Bundle.main.infoDictionary
return dict
else
fatalError("Info Plist file not found")
static let hockeyAppID = infoDict[InfoPlistKey.hockeyappID] as! String
现在,您可以从 Info.plist 中访问 HockeyAppId 值,
let identifier = AppSettings.hockeyAppID
如有任何问题,请告诉我。
【讨论】:
【参考方案2】:您可以通过在构建设置中将其作为“用户定义的设置”添加到您的目标来创建该变量。然后,您可以为每个构建配置将变量值设置为不同的值。
请参阅随附的屏幕截图。您可以忽略我的 Beta Prod 和 Beta Test 配置,因为它们可能不适用于您的情况。
【讨论】:
我做了:“然后,您可以为每个构建配置将变量值设置为不同的值。”因此,为您的 Debug 配置设置为 2,为您的 Release 配置设置为 3。以上是关于如何在 info.plist 文件 xcode ios 中使用 Code 值的主要内容,如果未能解决你的问题,请参考以下文章
如何告诉 Xcode 我的 info.plist 和 .pch 文件在哪里
如何在 info.plist 文件 xcode ios 中使用 Code 值