我的xcode版本比较高,查找的一些低版本的构建都不可用,所以在此记录我的打包过程。
1.app代码仓需要发布的ipa的打包:采用achieve的方式
(1)前期工作
mkdir arch
archive_path=arch/${app_name}.xcarchive
# xcodebuild archive -workspace ${workspace_name}.xcworkspace -scheme ${app_name} -configuration $ios_type clean build
(2)清理 (其中scheme和workspace就不细说了,如果不清楚的话,ios的开发都知道,ios_type包含Debug和Release)
xcodebuild clean -workspace ${workspace_name}.xcworkspace -scheme ${app_name} -configuration $ios_type
(3)打包成app(其中achieve路径自己定义)
xcodebuild archive -workspace ${workspace_name}.xcworkspace -scheme ${app_name} -archivePath $archive_path -configuration $ios_type
(4)导出ipa (其中的plist文件按照自己的路径填写)
echo export ipa ....
xcodebuild -exportArchive -archivePath $archive_path -exportPath arch/target_ipa -exportOptionsPlist ${app_name}/${app_name}/Info.plist
2.sdk代码仓,需要打对应ipa测试:
(1)清理
xcodebuild clean -project ${project_name}.xcodeproj -scheme ${app_name} -configuration Release
(2)打包成app
xcodebuild build -project ${project_name}.xcodeproj -scheme ${app_name} -configuration Release
(3)将app放到Payload文件夹中,并压缩文件夹为zip后缀,然后修改为ipa后缀
mv Build/ProductsRelease-iphoneos/"$app_name".app Payload/
zip -q -r "$ios_app_name".zip Payload
cp "$ios_app_name".zip target/"$ios_app_name".ipa
这个ipa就可以发给测试测了。
xcodebuild 的其他简单用法:
(1)xcodebuild -list #显示scheme
(2)xcodebuild -showsdks #显示系统和模拟器得sdk版本
参考资料:
https://www.jianshu.com/p/36d2c6d65aa7
http://lijingcheng.github.io/blog/2016/12/05/tong-guo-xcodebuildda-bao-ipabing-shang-chuan-pu-gong-ying/