修改 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的主要内容,如果未能解决你的问题,请参考以下文章

经xcode8.0修改后的.xib文件在xcode7.3环境中报错的解决方案

react-native修改xcode项目名

针对Xcode 9 + iOS11 的修改

有没有办法禁用或修改 Xcode 的代码完成?

Xcode修改个性化注释

Xcode 13 错误:输入文件 [...] 在构建期间被修改