修改Xcode的project.pbxproj中的PRODUCT_BUNDLE_IDENTIFIER

Sar*_*hal 7 unix bash sed plist xcode7

我正在尝试在 Mac 终端上project.pbxproj使用sedshell 命令修改Xcode 项目的文件以替换字符串。我想替换该字段 -

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 命令末尾的额外字符

我之前使用Plistbuddyshell 命令修改字段CFBUNDLEIDENTIFIERinfo.plist$(PRODUCT_BUNDLE_IDENTIFIER)在 Xcode 7 构建设置中不再更改。

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

mid*_*ori 8

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

sed -i '' 's/com.example.71b94f2/com.example.14a32d1e/g' project.pbxproj
Run Code Online (Sandbox Code Playgroud)