我们使用的库需要在
Okta.plist
文件中设置配置值。
由于我们的应用程序有 3 个环境,因此我们在
.xcconfig
文件中对每个环境进行配置。
这允许我们根据构建类型(开发、测试、发布)设置应用程序图标、应用程序名称等内容。
我也想在
Okta.plist
中使用这些值,这样我就可以配置我们使用的 Okta 实例,但是我似乎无法使用配置文件设置这些值。
对于我们的
Info.plist
,我们简单地引用该值:
/// Release.xcconfig
...
APP_DISPLAY_NAME = Some Text
...
/// Info.plist
<key>CFBundleDisplayName</key>
<string>${APP_DISPLAY_NAME}</string>
而且它有效。
我怎样才能用
Okta.plist
达到同样的效果?我尝试了相同的方法,但它使用键作为值,而不是配置文件中的值。
所有构建设置(如 xcconfig 文件中声明的)在构建阶段脚本期间都可用作环境变量。仅在
info.plist
中支持引用这些内容,如果您要在任何 plist 中执行此操作,则必须编写一个自定义脚本来执行替换并将其添加为构建阶段脚本。
您可以使用以下脚本Replaceplistenvironmentvariables.swift。该脚本采用输入和输出 plist,并将输入 plist 中对环境变量的所有引用替换为其值,然后写入输出 plist。
变量引用必须采用以下形式:
<string>$(A_VARIABLE)</string>
要将其添加到我们的项目中,请按照以下步骤操作
/usr/bin/xcrun --sdk macosx swift "${PROJECT_DIR}/replacePlistEnvironmentVariables.swift" "${SCRIPT_INPUT_FILE_0}" "${SCRIPT_OUTPUT_FILE_0}"
SCRIPT_INPUT_FILE_0=$(SRCROOT)/MyProject/Config.plist
SCRIPT_OUTPUT_FILE_0=${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Config.plist