我知道这个主题多次在SO上辩论,但我没有找到所有的信息。
我正在制作一个外部脚本来构建和存档我的项目
我找到了一些好文档here和here,但我无法弄清楚如何获取xcode变量,例如${PROJECT_NAME}
,${TARGET_SDK}
等等。
我也看到这条线可能对采购这些变量很有意思:
."$WORKSPACE/autobuild/build.config"
但我在我的Mac上找不到任何“autobuild”文件夹或“build.config”文件。
我感觉我错过了一些不可思议的东西,但我不知道是什么......
有什么想法吗?
答案 0 :(得分:4)
确保已安装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"
...