【发布时间】:2019-05-14 13:13:31
【问题描述】:
我有一个 Xcode 项目,它使用不同的配置构建到几个不同的应用程序(白标签)中。
对于新的付款方式,我需要每个应用程序都有一个唯一的CFBundleURLScheme。
我在“构建阶段”中之前 Compile Sources 编写了以下“运行脚本”。
INFO_PLIST="${PROJECT_DIR}/${INFOPLIST_FILE}"
plutil -insert CFBundleURLTypes.0.CFBundleURLSchemes.0 -string "swish${PRODUCT_BUNDLE_IDENTIFIER//.}" $INFO_PLIST
这会添加值swishourbundleidentifier。 (所以,swish + our.bundle.identifier,但没有点)
这当前会更改实际的 Info.plist。我想要的是它更改了构建应用程序的文件夹中的 Info.plist,以便每次都将其覆盖(因此没有双值),并且附加值不会显示在 git 中。
我会怎么做呢?我猜它只是改变了"${PROJECT_DIR}/${INFOPLIST_FILE}",但改成什么?
如果需要更多信息,请告诉我。
编辑:实际上,如果可能的话,更好的解决方案是在 Info.plist 的 URL 方案中添加类似 swish${PRODUCT_BUNDLE_IDENTIFIER//.} 的内容。这样它就在构建时编译为该值,但没有双精度值。我试过这个,但不幸的是它似乎没有那样工作。
【问题讨论】:
标签: ios xcode info.plist