确保您已安装 XCode 命令行工具(通过 XCode 首选项)。
然后,我使用的是一个简单的 shell 脚本:
#!/bin/sh
source "build.cfg"
xcodebuild -target "${XCODE_BUILD_TARGET}" -sdk "${XCODE_BUILD_SDK}" -configuration Release CODE_SIGN_IDENTITY="${XCODE_BUILD_CODE_SIGN_AUTHORITY}"
EXIT_CODE=$?
if [ ! $EXIT_CODE -eq 0 ];then
exit $EXIT_CODE
fi
xcrun -sdk "${XCODE_BUILD_SDK}" PackageApplication -v "${XCODE_ABS_BUILD_APP_PATH}" -o "${XCODE_ARCHIVE_OUTPUT_PATH}" --sign "${XCODE_BUILD_CODE_SIGN_AUTHORITY}" --embed "${XCODE_ABS_PROVISIONING_CERTIFICATE_PATH}"
EXIT_CODE=$?
if [ ! $EXIT_CODE -eq 0 ];then
exit $EXIT_CODE
fi
我还有很多其他的,但这是关键部分。然后 build.cfg 只包含上面的变量:
#!/bin/sh
export XCODE_PROJECT_DIR="Builds/iOS"
export XCODE_BUILD_TARGET="Demo-iPhone"
export XCODE_BUILD_SDK="iphoneos"
export XCODE_BUILD_PLIST="Info.plist"
export XCODE_BUILD_APP_NAME="demo.app"
export XCODE_BUILD_APP_DIR="build"
export XCODE_BUILD_CODE_SIGN_AUTHORITY="iPhone Distribution: ABC"
export XCODE_ARCHIVE_OUTPUT_IPA_FILENAME="demo.ipa"
export XCODE_ARCHIVE_OUTPUT_IPA_DIR="build/release"
export XCODE_ARCHIVE_PROVISIONING_CERTIFICATE="demo_adhoc.mobileprovision"
...