Xcode工程自动编译并导出ipa包的两种方式

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 /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文件的权限修改时要输入密码 把替换成自己的密码就行;自己用户的名字是本机的用户

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工程自动配置的,请私聊我

你可能感兴趣的:(Xcode工程自动编译并导出ipa包的两种方式)