聽(tīng)了老徐 老師的課,對(duì)Jenkins打包腳本很感興趣,所以想去網(wǎng)路上自己了解一下,加深印象,對(duì)后續(xù)學(xué)習(xí)有所幫助。再加上沒(méi)有在線聽(tīng)課,和大家一起討論,所以聽(tīng)課感受的分享留在以后。
關(guān)于iOS的構(gòu)建
對(duì)ios源碼進(jìn)行構(gòu)建,目標(biāo)是要生成.ipa文件,即iOS應(yīng)用安裝包。
當(dāng)前,構(gòu)建方式主要包括兩種:
源碼->.archive文件 ->.ipa文件
源碼->.app文件 ->.ipa文件
這兩種方式的主要差異是生成的中間產(chǎn)物不同,對(duì)應(yīng)的,兩種構(gòu)建方式采用的命令也不同。
8# build archive file from source code
xcodebuild \# xctool
-workspace${WORKSPACE_PATH}\
-scheme${SCHEME}\
-configuration${CONFIGURATION}\
-sdk${SDK}
-archivePath${archive_path}
archive
archive:對(duì)編譯結(jié)果進(jìn)行歸檔,會(huì)生成一個(gè).xcarchive的文件,位于-archivePath指定的目錄中。需要注意的是,對(duì)模擬器類型的sdk無(wú)法使用archive命令。
8# export ipa file from .archive
xcodebuild -exportArchive \
-exportFormat format \
-archivePath xcarchivepath \
-exportPath destinationpath \
-exportProvisioningProfile profilename \
[-exportSigningIdentity identityname]
[-exportInstallerIdentity identityname]
7# build .app file from source code
xcodebuild \# xctool
-workspace${WORKSPACE_PATH}\
-scheme${SCHEME}\
-configuration${CONFIGURATION}\
-sdk${SDK}
-derivedDataPath${OUTPUT_FOLDER}
6# convert .app file to ipa file
xcrun \
-sdk iphoneos \
PackageApplication \
-v${OUTPUT_FOLDER}/Release-iphoneos/xxx.app \
-o${OUTPUT_FOLDER}/Release-iphoneos/xxx.ipa
xcodebuild/xctool參數(shù):
-workspace:需要打包的workspace,后面接的文件一定要是.xcworkspace結(jié)尾的;
-scheme:需要打包的Scheme,一般與$project_name相同;
-sdk:區(qū)分iphone device和Simulator,可通過(guò)xcodebuild -showsdks獲取,例如iphoneos和iphonesimulator9.3;
-configuration:需要打包的配置文件,我們一般在項(xiàng)目中添加多個(gè)配置,適合不同的環(huán)境,Release/Debug;
-exportFormat:導(dǎo)出的格式,通常填寫為ipa;
-archivePath:.xcarchive文件的路徑;
-exportPath:導(dǎo)出文件(.ipa)的路徑;
-exportProvisioningProfile:profile文件證書(shū);
-derivedDataPath:指定編譯結(jié)果文件的存儲(chǔ)路徑;例如,指定-derivedDataPath ${OUTPUT_FOLDER}時(shí),將在項(xiàng)目根目錄下創(chuàng)建一個(gè)${OUTPUT_FOLDER}文件夾,生成的.app文件將位于${OUTPUT_FOLDER}/Build/Products/${CONFIGURATION}-iphoneos中。
關(guān)于iOS的構(gòu)建
對(duì)ios源碼進(jìn)行構(gòu)建,目標(biāo)是要生成.ipa文件,即iOS應(yīng)用安裝包。
當(dāng)前,構(gòu)建方式主要包括兩種:
源碼->.archive文件 ->.ipa文件
源碼->.app文件 ->.ipa文件
這兩種方式的主要差異是生成的中間產(chǎn)物不同,對(duì)應(yīng)的,兩種構(gòu)建方式采用的命令也不同。
8# build archive file from source code
xcodebuild \# xctool
-workspace${WORKSPACE_PATH}\
-scheme${SCHEME}\
-configuration${CONFIGURATION}\
-sdk${SDK}
-archivePath${archive_path}
archive
archive:對(duì)編譯結(jié)果進(jìn)行歸檔,會(huì)生成一個(gè).xcarchive的文件,位于-archivePath指定的目錄中。需要注意的是,對(duì)模擬器類型的sdk無(wú)法使用archive命令。
8# export ipa file from .archive
xcodebuild -exportArchive \
-exportFormat format \
-archivePath xcarchivepath \
-exportPath destinationpath \
-exportProvisioningProfile profilename \
[-exportSigningIdentity identityname]
[-exportInstallerIdentity identityname]
7# build .app file from source code
xcodebuild \# xctool
-workspace${WORKSPACE_PATH}\
-scheme${SCHEME}\
-configuration${CONFIGURATION}\
-sdk${SDK}
-derivedDataPath${OUTPUT_FOLDER}
6# convert .app file to ipa file
xcrun \
-sdk iphoneos \
PackageApplication \
-v${OUTPUT_FOLDER}/Release-iphoneos/xxx.app \
-o${OUTPUT_FOLDER}/Release-iphoneos/xxx.ipa
xcodebuild/xctool參數(shù):
-workspace:需要打包的workspace,后面接的文件一定要是.xcworkspace結(jié)尾的;
-scheme:需要打包的Scheme,一般與$project_name相同;
-sdk:區(qū)分iphone device和Simulator,可通過(guò)xcodebuild -showsdks獲取,例如iphoneos和iphonesimulator9.3;
-configuration:需要打包的配置文件,我們一般在項(xiàng)目中添加多個(gè)配置,適合不同的環(huán)境,Release/Debug;
-exportFormat:導(dǎo)出的格式,通常填寫為ipa;
-archivePath:.xcarchive文件的路徑;
-exportPath:導(dǎo)出文件(.ipa)的路徑;
-exportProvisioningProfile:profile文件證書(shū);
-derivedDataPath:指定編譯結(jié)果文件的存儲(chǔ)路徑;例如,指定-derivedDataPath ${OUTPUT_FOLDER}時(shí),將在項(xiàng)目根目錄下創(chuàng)建一個(gè)${OUTPUT_FOLDER}文件夾,生成的.app文件將位于${OUTPUT_FOLDER}/Build/Products/${CONFIGURATION}-iphoneos中。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?來(lái)源:http://blog.csdn.net/u011904605/article/details/60335442?
未完待續(xù)。。。。