修改 PRODUCT_BUNDLE_IDENTIFIER in project.pbxproj of Xcode

Modify PRODUCT_BUNDLE_IDENTIFIER in project.pbxproj of Xcode

我正在尝试在 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": extra characters at the end of p command

我之前使用 Plistbuddy shell 命令修改 info.plist 中的 CFBUNDLEIDENTIFIER 字段,但这并没有改变 [=42] 中的 $(PRODUCT_BUNDLE_IDENTIFIER) =] 7 个构建设置了。

我的主要目的是使用命令行或任何脚本修改 Xcode 中 BUILD SETTINGS 的 PRODUCT_BUNDLE_IDENTIFIER 字段。

OSX 需要明确指定扩展名。解决方法是设置一个空字符串:

sed -i '' 's/com.example.71b94f2/com.example.14a32d1e/g' project.pbxproj