ios - 在构建之后(但在安装之前)向 Info.plist 数组添加值

标签 ios xcode info.plist

我有一个 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}" ,但是为了什么呢?

如果需要更多信息,请告诉我。

编辑:实际上,如果可能的话,更好的解决方案是添加类似 swish${PRODUCT_BUNDLE_IDENTIFIER//.} 的内容在Info.plist的 URL 方案。因此它会在构建时编译为该值,但没有双值。我尝试了这个,但不幸的是它似乎不起作用。

最佳答案

您可以访问构建目录

$CONFIGURATION_BUILD_DIR/$CONTENTS_FOLDER_PATH

引用:https://help.apple.com/xcode/mac/10.2/#/itcaec37c2a6

关于ios - 在构建之后(但在安装之前)向 Info.plist 数组添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131356/

相关文章:

ios - 如何以编程方式折叠 UIView?

ios - 为什么 NSDate 类型的变量没有在初始化程序中初始化?

ios - uitableview 中的自定义配件不会调用accessorybuttontapped 委托(delegate)

iOS 7 navigationController 导航返回错误

ios - 发送消息的 Swift 代码不起作用

xcode - 当构建/运行失败或崩溃时,如何让 xcode 创建声音

iphone - 从 ViewController 返回 View

iOS plist.info : where should I put additional keys with a nested dict tag?

iphone - DYLD_INSERT_LIBRARIES 和 iPhone

ios - 设置 : Cannot Perform Set On Containers