Xcode使用Run Script脚本

由于某次上线,忘记修改Display Name,铸成大错。
Xcode可以使用脚本,在打包时修改Display Name、Bundle Id等信息。

一、在Build Phases添加脚本

选择Targets->Build Phases->+
Targets->Build Phases->+

Run Script在↓
Run Script
  1. 修改BundleVersion
    1.1 按时间设置Build Number
buildNumber=$(date "+%Y%m%d%H")
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

1.2 自增长Build Number

plist=${PROJECT_DIR}/${INFOPLIST_FILE}
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${plist}"
  1. 按照Debug-Release设置Display Name和Bundle ID
f [ $CONFIGURATION == Release ]; then
bundleID="com.abc.mobile.YourApp"
displayName="你的App"
else
bundleID="com.abc.develope.mobile.YourApp"
displayName="你的App-测试"
fi
/usr/libexec/Plistbuddy -c "Set :CFBundleIdentifier $bundleID" "${plist}"
/usr/libexec/Plistbuddy -c "Set :CFBundleDisplayName $displayName" "${plist}"
  1. 查看log
    打印log:
echo "$displayName :$bundleID"

查看log

二、在Scheme里添加脚本


Edit Scheme... -> Build -> Pre-actions

在这里写可以不用写判断Debug或Release模式

三、错误
可能会出现错误:


错误一.png

编译前clean一下,就可以解决了。
这是由于PRODUCT_BUNDLE_IDENTIFIER并没有改过来导致的。
所以在打包上传之前,需要clean一下。

参考资料:

  1. Xcode添加RunScript脚本_培根芝士的专栏
  2. Xcode打包,仅archive时通过Run Script脚本进行build号自增
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容