Xcode工程自动编译并导出ipa包的两种方式
1.xcodebuild方式
2.xcrun方式(此方式需要用到PackageApplication工具)
但是这个工具在XCode8.2.1(好像是这个版本)以后就没有了,所以,如果报找不到这个工具的错误,可以参照这位同学方法放回去:获取设置PackageApplication工具
这两种方式都是建立在已经配置好xcode工程的基础上。我的xcode工程是自动配置的,如果有兴趣的可以私聊我发教程
一 .xcodebuild方式
1.清理xcode工程
2.login.keychain文件的权限修改
3.编译xcode工程
4.导出ipa游戏包
PROJECT_NAME="Unity-iPhone" #工程名称DEVELOPMENT_MODE=Debug #编译模式ADHOC_EXPORT_OPTIONS_PLIST="/xxx/xxx/ExportOptions.plist" #导出ipa的配置文件ARCHIVE_PATH=XXX/XXX/XXX/${PROJECT_NAME}.xcarchive #编译路径IPA_PATH=XXX/XXX/XXX/ #导出ipa的路径
#1.清理xcode工程
xcodebuild clean -project ${PROJECT_NAME}.xcodeproj -scheme ${PROJECT_NAME} -configuration ${DEVELOPMENT_MODE}
#2.login.keychain文件的权限修改
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.导出ipa游戏包
xcodebuild -exportArchive -archivePath ${ARCHIVE_PATH} -exportPath ${IPA_PATH} -exportOptionsPlist ${ADHOC_EXPORT_OPTIONS_PLIST}
说明:
1.ExportOptions.plist文件如果找不到的话,可以手动导出一次,然后保存ExportOptions.plist文件到一个目录下,把ExportOptions.plist目录填进去再进行自动编译打包。也可以自己新建一个ExportOptions.plist文件,不过里面的参数要写好,我为了方便就自己手动编译并导出了ipa包,保存了ExportOptions.plist文件。
2.login.keychain文件的权限修改时要输入密码 把<Password>替换成自己的密码就行;自己用户的名字是本机的用户
3.其他的你们应该能看懂0.0.
二.xcrun方式(使用此方法前请先获取并配置PackageApplication工具前面有讲到)
这个方式貌似比前面的那种方式要简单,不过会报警告。
warning: PackageApplication is deprecated, use `xcodebuild -exportArchive` instead.
直接上图
App_Path=xcode工程根目录/build/Release-iphoneos/xxxx.app #.app文件的地址
PackageName=XXX.ipa #导出ipa的名称
ipaOutPutPath=XXX/XXX/XXX/ #导出ipa的地址
#清理
xcodebuild clean
#xcode build
xcodebuild || exit
#导ipa包
xcrun -sdk iphoneos PackageApplication -v $App_Path -o $ipaOutPutPath$PackageName
xcrun的原理就是先进行xcodebuild,然后build出来的.app文件转化为.ipa文件
上面的App_Path是指你build后产生的.app文件的地址
第一次发简书,如果有用到xcode工程自动配置的,请私聊我