我有一个Xcode项目,该项目具有300多个方案/目标,并且我有一个自定义脚本,需要在应用开始构建之前运行该脚本。我已经找到了解决方法,方法是编辑所需的方案,选择Build-> Pre-actions-> New Run Script Action-> Provide Build Settings From,然后粘贴此脚本(这会在通知中动态更改版本信息和包ID扩展程序的plist文件):
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/$INFOPLIST_FILE")
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${SRCROOT}/NotificationService/Info.plist"
buildVersion=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PROJECT_DIR}/$INFOPLIST_FILE")
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $buildVersion" "${SRCROOT}/NotificationService/Info.plist"
buildID=${PRODUCT_BUNDLE_IDENTIFIER}
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $buildID.NotificationService" "${SRCROOT}/NotificationService/Info.plist"
问题是我必须为300多个方案执行此操作,这是一项乏味且及时的工作。有什么方法可以将其应用于我的所有方案/目标吗?
答案 0 :(得分:0)
最终通过创建一个快速通道脚本解决了问题,该脚本基本上将此预运行运行脚本添加到XML中适当位置的每个xcscheme文件中。