一烦租、自動打包 ?首先知道需要使用xcodebuild命令?
沒有使用 cocoapod的項目命令稍微簡單一點點 ?
本文主要說的是 使用了cocoapod項目如何使用xcodebuild命令
1.xcodebuild ?的基本命令 ? ?xocde9之后 不支持?/usr/bin/xcrun 導出ipa包了 所以 ?查了資料 ?使用 第二種 打包方式 ? 但是第一種方式的命令 我也給出來了 ?需要 ?去xcode9之前的版本里 拷貝對應(yīng)的文件
Before: xcrun with PackageApplication
# Build the application
xcodebuild \
-scheme "${SCHEME_NAME}" \
-sdk "${TARGET_SDK}" \
-configuration Release build
# Package the application
/usr/bin/xcrun \
-sdk "${TARGET_SDK}" \
PackageApplication \
-v "${PROJECT_BUILDDIR}/${SCHEME_NAME}.app" \
-o "${BUILD_OUTPUT_DIR}/${APP_NAME}.ipa" \
--sign "${DEVELOPER_NAME}" \
--embed "${PROVISIONING_PROFILE}"
用下面這種最新的打包命令
After: xcodebuild with -exportArchive
# Archive the application
xcodebuild \
-scheme "${SCHEME_NAME}" \
-sdk "${TARGET_SDK}" \
-archivePath "${PROJECT_BUILDDIR}/${SCHEME_NAME}.xcarchive" \
-configuration Release \
PROVISIONING_PROFILE="${PROVISIONING_PROFILE}" \
archive
# Export the archive to an ipa
xcodebuild \
-exportArchive \
-archivePath "${PROJECT_BUILDDIR}/${SCHEME_NAME}.xcarchive" \
-exportOptionsPlist "${EXPORT_PLIST}" \
-exportPath "${BUILD_OUTPUT_DIR}"
實際例子关带,我目前的項目
1.build archive?
xcodebuild archive
-workspace Saas_M.xcworkspace
-scheme Saas_M
-configuration Release
-archivePath /Users/renqianbei/Desktop/Saas_M/autobuild/archive/Saas_M.xcarchive
CONFIGURATION_BUILD_DIR=/Users/renqianbei/Desktop/Saas_M/autobuild/build
CODE_SIGN_IDENTITY="證書"?
PROVISIONING_PROFILE="配置文件對應(yīng)值"
2.導出ipa
xcodebuild -exportArchive?
-archivePath /Users/renqianbei/Desktop/Saas_M/autobuild/archive/Saas_M.xcarchive
-exportOptionsPlist /Users/renqianbei/Desktop/Saas_M/autobuild/Saas_MExportOptions.plist?
-exportPath /Users/renqianbei/Desktop/Saas_M/autobuild/ipaDir/saasM2018.ipa
這有個?Saas_MExportOptions.plis 文件需要自己創(chuàng)建 如下
list 中key 紅色部分是 bundleID 對應(yīng)后面的Value 是 Provisioning Profile 對應(yīng)的名字 SaasM ?如下
plist 中method ?對應(yīng)的 是 打包對應(yīng)的環(huán)境 ?各種環(huán)境對應(yīng)的Provisioning 也需要對應(yīng)?
目前是development ? ? ?對應(yīng)的dev的profilename
對應(yīng)各種環(huán)境打包參數(shù)
method=app-store,uploadBitcode=Y(jié)ES方淤,uploadSymbols=Y(jié)ES
method=enterprise,compileBitcode=NO
method=development为鳄,compileBitcode=NO
method=ad-hoc孟害,compileBitcode=NO