修改 Xcode 的 project.pbxproj 中的 PRODUCT_BUNDLE_IDENTIFIER
Posted
技术标签:
【中文标题】修改 Xcode 的 project.pbxproj 中的 PRODUCT_BUNDLE_IDENTIFIER【英文标题】:Modify PRODUCT_BUNDLE_IDENTIFIER in project.pbxproj of Xcode 【发布时间】:2015-10-02 15:14:51 【问题描述】:我正在尝试使用 Mac 终端上的 sed
shell 命令来修改 Xcode 项目的 project.pbxproj
文件以替换字符串。我要替换字段 -
PRODUCT_BUNDLE_IDENTIFIER = com.example.71b9b4f2
到
PRODUCT_BUNDLE_IDENTIFIER = com.example.14a32d1e
使用的命令 -
sed -i 's/com.example.71b94f2/com.example.14a32d1e/g' project.pbxproj
产生以下输出错误-
sed: 1: "project.pbxproj": p 命令末尾的多余字符
我之前使用Plistbuddy
shell 命令来修改info.plist
中的字段CFBUNDLEIDENTIFIER
,但这不会再更改Xcode 7 构建设置中的$(PRODUCT_BUNDLE_IDENTIFIER)
。
我的主要目标是使用命令行或任何脚本修改 Xcode 中 BUILD SETTINGS 的 PRODUCT_BUNDLE_IDENTIFIER 字段。
【问题讨论】:
【参考方案1】:OSX 要求明确指定扩展。解决方法是设置一个空字符串:
sed -i '' 's/com.example.71b94f2/com.example.14a32d1e/g' project.pbxproj
【讨论】:
是的。试过了,在这种情况下不起作用。已经找到这个here 这很奇怪,因为我刚刚尝试过,它适用于我的 macbook pro 你介意使用python脚本吗?我可以为你写python脚本 使用mod-pbxproj 找到了替代解决方案。将分享有关如何使用它以及其他人的详细答案。以上是关于修改 Xcode 的 project.pbxproj 中的 PRODUCT_BUNDLE_IDENTIFIER的主要内容,如果未能解决你的问题,请参考以下文章