这两天得空,学习了下shell脚本,也参照了一些网上的经验,添加了两个自定义Run Script Phase。具体怎么新增Run Script Phase就不赘述了,在Build Phases里找吧。
1.每次构建的时候build号自增
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c"Print CFBundleVersion""$INFOPLIST_FILE")
buildNumber=$(($buildNumber +1))
/usr/libexec/PlistBuddy -c"Set :CFBundleVersion $buildNumber""$INFOPLIST_FILE"
2.根据bundleID不同,设置不同的jpush appkey
#!/bin/bash
bundleID=${PRODUCT_BUNDLE_IDENTIFIER}
id="com.zhoumoquan.zhoumoquan"
if ["$bundleID"="$id"]; then
cp zmq/PushConfig_AppStore.plist zmq/PushConfig.plist
else
cp zmq/PushConfig_Enterprise.plist zmq/PushConfig.plist
fi
注意:我开始是用
bundleID=$(/usr/libexec/PlistBuddy -c"Print CFBundleIdentifier""$INFOPLIST_FILE")
取到bundle,然后判断是否相等,可是怎么判断怎么都不为真。打开Info.plist看了看,CFBundleIdentifier的值是$(PRODUCT_BUNDLE_IDENTIFIER),大概取出来的bundleID是替换xcode环境变量之前的。改成
bundleID=${PRODUCT_BUNDLE_IDENTIFIER}
果然就正常了。