bash - 修改Xcode的project.pbxproj中的PRODUCT_BUNDLE_IDENTIFIER

标签 bash unix sed xcode7 plist

我正在尝试在 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 但这并没有改变 $ (PRODUCT_BUNDLE_IDENTIFIER) 不再在 Xcode 7 build设置中。

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

最佳答案

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

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

关于bash - 修改Xcode的project.pbxproj中的PRODUCT_BUNDLE_IDENTIFIER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32910416/

相关文章:

linux - 在路径之前使用 find 命令显示文件大小

java - 在 Windows 上打开 git bash 并在 java 中运行命令

unix - `chmod go-rwx` 和 `chmod 700` 有什么区别

linux - bash 中的变量比较

linux - 如果在反引号中为变量分配命令表达式会发生什么

linux - 这在 SVN 中意味着什么? - 写入 '.' 时出错

unix - Hadoop hdfs cat pipe edgenode 到 hdfs

sed - 使用sed合并两个模式之间的线

regex - sed:未终止的 's' 命令`

file - 使用 awk/sed 删除双新行