由于某次上线,忘记修改Display Name,铸成大错。
Xcode可以使用脚本,在打包时修改Display Name、Bundle Id等信息。
一、在Build Phases添加脚本
Run Script在↓
- 修改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}"
- 按照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}"
- 查看log
打印log:
echo "$displayName :$bundleID"
查看log二、在Scheme里添加脚本
在这里写可以不用写判断Debug或Release模式
三、错误
可能会出现错误:
编译前clean一下,就可以解决了。
这是由于PRODUCT_BUNDLE_IDENTIFIER并没有改过来导致的。
所以在打包上传之前,需要clean一下。
参考资料: