ios - 哪些工具支持编辑 project.pbxproj 文件?

标签 ios xcode plist xcode-project

我想使用命令行直接编辑 project.pbxproj(用于 CI 服务器脚本)

什么工具可以让我做到这一点?

我曾经使用PlistBuddy编辑输出Info.plist;然而,我真正想做的是编辑这个用户定义的字段,它在多个地方使用,我真的不想在每个 plist 位置寻找它

最佳答案

project.pbxproj 是一个 old-style ASCII property list文件,也是。所以你可以使用 /usr/libexec/PlistBuddy 来编辑它。

像这样打印一些用户定义键的值,

# Get the key A83311AA20DA4A80004B8C0E in your project.pbxproj
# LZD_NOTIFICATION_SERVICE_BUNDLE_ID is defined by me,
# Replace key paths with your own.
/usr/libexec/PlistBuddy -c 'print :objects:A83311AA20DA4A80004B8C0E:buildSettings:LZD_NOTIFICATION_SERVICE_BUNDLE_ID' LAAppAdapter.xcodeproj/project.pbxproj

像这样设置它的值,

/usr/libexec/PlistBuddy -c 'set :objects:A83311AA20DA4A80004B8C0E:buildSettings:LZD_NOTIFICATION_SERVICE_BUNDLE_ID com.dawnsong.notification-service' LAAppAdapter.xcodeproj/project.pbxproj

更新
PlistBuddy 会自动将 project.pbxproj 转换为 macOS Catalina(或某些更早版本)之后的 xml 格式的 plist 文件。最好将设置项移动到 xcconfig 文件中,因为 xcconfigproject.pbxproj 更小更简单使用perl脚本编辑时不容易出错。

关于ios - 哪些工具支持编辑 project.pbxproj 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32133576/

相关文章:

ios - 从 NSMutableArray 创建一个 csv

ios - 使用自动布局和 systemLayoutSizeFittingSize

ios - 一台设备的 CBCentral 和 CBPeripheral 标识符是否相同

iphone - 在 ios6 中集成 facebook 登录和获取用户详细信息以及 tabbarcontroller

ios - Flutter iOS 设置

iphone - 提供 iOS 访问在线文件

ios - 更新您的应用程序是否会保存用户以前的 Plist 文件?

ios - 此 iPhone 5s 运行的是 iOS 11.0.3,此版本的 Xcode 可能不支持

iphone - 如何在 iphone 应用程序中显示 foursquare post-checkin 屏幕?

ios - 连接 println 的混合类型