配置证书
和用Xcode打包一样,首先要配置好相关证书
具体步骤如图所示:
证书配置好后就可以进行下面操作了
使用命令行打包ipa
首先打开终端,进入工程文件夹下(即.xcodeproj工程所在的位置,这里以Alipay工程为例):
$ cd /Users/zmt/Desktop/Demo/me/Alipay/
命令行打包有两种方法,任选其一即可
方法一:
xcodebuild
(1)清除
$ xcodebuild clean -project /Users/zmt/Desktop/Demo/me/Alipay/Alipay.xcodeproj -configuration ${CONFIGURATION} -alltargets
/Users/zmt/Desktop/Demo/me/Alipay/Alipay.xcodeproj
为工程路径
出现上图的CLEAN SUCCEEDED表示成功,可进行下一步
(2)构建
$ xcodebuild archive -project /Users/zmt/Desktop/Demo/me/Alipay/Alipay.xcodeproj -scheme Alipay -archivePath bin/Alipay.xcarchive
/Users/zmt/Desktop/Demo/me/Alipay/Alipay.xcodeproj
为工程路径
bin/Alipay.xcarchive
为.xcarchive文件的目标路径
出现上图的ARCHIVE SUCCEEDED表示成功,可进行下一步
(3)打包
$ xcodebuild -exportArchive -archivePath bin/Alipay.xcarchive -exportPath Alipay -exportFormat ipa -exportProvisioningProfile "MytestDistributionFengyu"
bin/Alipay.xcarchive
为.xcarchive文件路径(也就是上一步.xcarchive文件的目标路径)
Alipay
为导出路径
MytestDistributionFengyu
为配置文件(Provisioning Profile)的名称
出现上图的EXPORT SUCCEEDED表示成功,最终文件夹为:
方法二:
xcrun
(1)清除
$ xcodebuild clean
出现CLEAN SUCCEEDED表示成功,可进行下一步
(2)编译
$ xcodebuild -target Alipay -configuration Release
Alipay
为工程名
出现上图的BUILD SUCCEEDED表示成功,可进行下一步
(3)打包
在上一步后,工程文件夹中会变成:
$ xcrun -sdk iphoneos PackageApplication -v /Users/zmt/Desktop/Demo/me/Alipay/build/Release-iphoneos/Alipay.app -o /Users/zmt/Desktop/Demo/me/Alipay/Alipay.ipa
/Users/zmt/Desktop/Demo/me/Alipay/build/Release-iphoneos/Alipay.app
为上图所指的的APP路径
/Users/zmt/Desktop/Demo/me/Alipay/Alipay.ipa
为导出ipa的目标路径
出现上图红线所画内容表示成功,最终文件夹为:
补充
如果上方两种命令行打包方式都不能完成打包可以试下下面这种方法(该方法是对xcrun的一种改变):
(1)清除
第一步和xcrun方法一样
$ xcodebuild clean
出现CLEAN SUCCEEDED表示成功,可进行下一步
(2)编译
这里是重点改变的地方,把之前的target
换成scheme
$ xcodebuild -scheme Nectar -configuration Release
Nectar
为工程名
出现上图的BUILD SUCCEEDED表示成功,可进行下一步
(3)打包
在上一步后,我们可以获得下面需要用到的APP路径,为上图中红线部分
$ xcrun -sdk iphoneos PackageApplication -v /Users/zmt/Library/Developer/Xcode/DerivedData/Nectar-angowleujeuzjoekhzqmwbgtbrrl/Build/Products/Release-iphoneos/MDP.app -o /Users/zmt/Desktop/Nectar/ios/Nectar.ipa
/Users/zmt/Library/Developer/Xcode/DerivedData/Nectar-angowleujeuzjoekhzqmwbgtbrrl/Build/Products/Release-iphoneos/MDP.app
为上图所指的的APP路径
/Users/zmt/Desktop/Demo/me/Alipay/Alipay.ipa
为导出ipa的目标路径
出现上图红线所画内容表示成功。