Xcode工程自動(dòng)編譯并導(dǎo)出ipa包的兩種方式
1.xcodebuild方式
2.xcrun方式(此方式需要用到PackageApplication工具)
但是這個(gè)工具在XCode8.2.1(好像是這個(gè)版本)以后就沒(méi)有了眯勾,所以,如果報(bào)找不到這個(gè)工具的錯(cuò)誤玫锋,可以參照這位同學(xué)方法放回去:獲取設(shè)置PackageApplication工具
這兩種方式都是建立在已經(jīng)配置好xcode工程的基礎(chǔ)上环础。我的xcode工程是自動(dòng)配置的工碾,如果有興趣的可以私聊我發(fā)教程
一 .xcodebuild方式
1.清理xcode工程?
?2.login.keychain文件的權(quán)限修改?
?3.編譯xcode工程?
?4.導(dǎo)出ipa游戲包
PROJECT_NAME="Unity-iPhone"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #工程名稱DEVELOPMENT_MODE=Debug? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #編譯模式ADHOC_EXPORT_OPTIONS_PLIST="/xxx/xxx/ExportOptions.plist"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #導(dǎo)出ipa的配置文件ARCHIVE_PATH=XXX/XXX/XXX/${PROJECT_NAME}.xcarchive? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#編譯路徑IPA_PATH=XXX/XXX/XXX/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #導(dǎo)出ipa的路徑
#1.清理xcode工程?
xcodebuild clean -project ${PROJECT_NAME}.xcodeproj -scheme ${PROJECT_NAME} -configuration ${DEVELOPMENT_MODE}
#2.login.keychain文件的權(quán)限修改?
ln -s ~/Library/Keychains/login.keychain-db ~/Library/Keychains/login.keychain
security?unlock -p <Password> /Users/自己用戶的名字/Library/Keychains/login.keychain
?#3.編譯xcode工程?
?xcodebuild archive -project ${PROJECT_NAME}.xcodeproj -scheme ${PROJECT_NAME} -archivePath ${ARCHIVE_PATH} -configuration ${DEVELOPMENT_MODE}
?#4.導(dǎo)出ipa游戲包
xcodebuild -exportArchive -archivePath ${ARCHIVE_PATH} -exportPath ${IPA_PATH} -exportOptionsPlist ${ADHOC_EXPORT_OPTIONS_PLIST}
說(shuō)明:
1.ExportOptions.plist文件如果找不到的話摆碉,可以手動(dòng)導(dǎo)出一次奴艾,然后保存ExportOptions.plist文件到一個(gè)目錄下,把ExportOptions.plist目錄填進(jìn)去再進(jìn)行自動(dòng)編譯打包衙伶。也可以自己新建一個(gè)ExportOptions.plist文件,不過(guò)里面的參數(shù)要寫(xiě)好害碾,我為了方便就自己手動(dòng)編譯并導(dǎo)出了ipa包矢劲,保存了ExportOptions.plist文件。
2.login.keychain文件的權(quán)限修改時(shí)要輸入密碼 把<Password>替換成自己的密碼就行;自己用戶的名字是本機(jī)的用戶
3.其他的你們應(yīng)該能看懂0.0.
二.xcrun方式(使用此方法前請(qǐng)先獲取并配置PackageApplication工具前面有講到)
這個(gè)方式貌似比前面的那種方式要簡(jiǎn)單,不過(guò)會(huì)報(bào)警告慌随。
warning: PackageApplication is deprecated, use `xcodebuild -exportArchive` instead.?
直接上圖
App_Path=xcode工程根目錄/build/Release-iphoneos/xxxx.app? ? ? ? #.app文件的地址
PackageName=XXX.ipa? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #導(dǎo)出ipa的名稱
ipaOutPutPath=XXX/XXX/XXX/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#導(dǎo)出ipa的地址??
#清理
xcodebuild clean
#xcode build
xcodebuild || exit
#導(dǎo)ipa包
xcrun -sdk iphoneos PackageApplication -v $App_Path -o $ipaOutPutPath$PackageName
xcrun的原理就是先進(jìn)行xcodebuild芬沉,然后build出來(lái)的.app文件轉(zhuǎn)化為.ipa文件
上面的App_Path是指你build后產(chǎn)生的.app文件的地址
第一次發(fā)簡(jiǎn)書(shū),如果有用到xcode工程自動(dòng)配置的阁猜,請(qǐng)私聊我