如何从shell脚本中读取plist信息(bundle id)

时间:2010-12-01 19:58:30

标签: iphone xcode shell scripting post-processing

我想编写一个脚本,可以读取Bundle Identifier等信息,也可以从应用的Info.plist中读取版本号。 Xcode似乎没有在其环境变量中提供该信息。还有其他办法让他们进入sh / bash吗?

5 个答案:

答案 0 :(得分:45)

defaults命令可以读取/写入任何plist文件,只需给它一个减去.plist扩展名的路径:

$ defaults read /Applications/Preview.app/Contents/Info CFBundleIdentifier

com.apple.Preview

这直接从应用程序包的CFBundleIdentifier文件中提取Info.plist值。

默认值也适用于二进制plist,无需任何额外步骤。

答案 1 :(得分:37)

答案 2 :(得分:4)

您可以直接从构建的产品中读取文件。但是,如果您在编辑器中查看info.plist文件本身,您将看到shell变量本身。例如。 Bundle ID具有以下shell命令:

com.yourcompany.${PRODUCT_NAME:rfc1034identifier}

您可以在Xcode运行的任何shell脚本中调用${PRODUCT_NAME:rfc1034identifier}并填充它。

答案 3 :(得分:3)

在Mac上安装了一个名为PlistBuddy的命令行程序,它可以读取/写入plist中的值。在终端输入'man PlistBuddy'以获取更多信息。

答案 4 :(得分:0)

此命令对我有用:

/usr/libexec/PlistBuddy -c 'print ":CFBundleIdentifier"' Info.plist
相关问题