首先,我有一个 Mac Mini 在 Mavericks 上运行服务器并安装了 Xcode 5。在服务器上,我使用 Bots 设置了我的 iOS 项目,以便在每次提交到 master 时运行我的 Github 存储库的自动构建。我想知道是否有人已经配置了这种设置来处理发送到 TestFlight 的自动构建。
之前与 Jenkins 构建过程一起使用的脚本粘贴在下面,但在机器人完成构建时会引发错误并且不会上传。我让这个脚本在我的应用程序存档过程的“后操作”上运行。
服务器日志错误:
打印:条目,“CFBundleVersion”,不存在
错误:指定的应用程序不存在或不是捆绑目录:'/Library/Server/Xcode/Data/BotRuns/Cache/s892fj1n2-f4bb-2514-522v-2a23d0f0c725/DerivedData/Build/Products/Debug-iphoneos/我的应用程序.ipa'
脚本:
PLIST_FILE=$(echo -n "${SRCROOT}/${INFOPLIST_FILE}")
BUILD_TYPE=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PLIST_FILE}")
API_TOKEN="<API_TOKEN>"
TEAM_TOKEN="<SECRET>"
APP="${BUILD_ROOT}/Debug-iphoneos/${FULL_PRODUCT_NAME}"
/bin/rm "/bots/${PRODUCT_NAME}.ipa"
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "/bots/${PRODUCT_NAME}.ipa"
/usr/bin/curl "http://testflightapp.com/api/builds.json" \
-F file=@"/bots/${PRODUCT_NAME}.ipa" \
-F a pi_token="${API_TOKEN}" \
-F team_token="${TEAM_TOKEN}" \
-F notes="Build uploaded automatically from server." \
-F distribution_lists="internal"
更新 11/20:
一个很好的尝试资源: TestFlight Bots
几周前我没有让它工作,但自从我上次尝试以来,这篇文章已经更新了。