MAC使用命令行打包出ipa包-通过xcodeproj

参考 :

https://www.jianshu.com/p/32af2f71b4e5--老了,里面的一些命令现在都没有了,但可以借鉴思路 

https://www.jianshu.com/p/004c9346f9b0

 

1.切换到工程所在目录

打开终端,输入 cd ,并将工程所在文件夹拖入cd 后面,回车。(即.xcodeproj工程所在的位置)

2.清除

在终端继续输入xcodebuild clean,回车等待,clean成功后截图如下。 

xcodebuild clean

3.构建

xcodebuild archive -project /Users/chenpeisong/Desktop/test/HelloWorld/HelloWorld.xcodeproj -scheme HelloWorld -archivePath /Users/chenpeisong/Desktop/HelloWorld.xcarchive

 说明:

-archive -project 后面跟工程路径 
/Users/chenpeisong/Desktop/test/HelloWorld/HelloWorld.xcodeproj

-scheme 需要打包的Sheme,一般与工程名相同
HelloWorld

-archivePath 后面跟.xcarchive文件的目标路径可以自己自由设置
/Users/chenpeisong/Desktop/HelloWorld.xcarchive

 archive成功后截图

4.打包

xcodebuild -exportArchive -exportOptionsPlist /Users/chenpeisong/Desktop/ExportOptions.plist -archivePath /Users/chenpeisong/Desktop/HelloWorld.xcarchive -exportPath HelloWorld

说明:

-exportArchive 
-exportOptionsPlist plist文件路径,包含证书信息 
-archivePath .xcarchive文件路径
-exportPath  ipa文件目标路径

 

其中关键就是exportOptionsPlist 文件需要在之前通过xcode打包导出ipa时的文件夹中去copy一个出来放在当前工程目录中,然后将其拖入-exportOptionsPlist 后面即可。

 打包成功后截图:

可以看到HelloWorld文件夹中已经生成了helloworld.ipa文件

附:

plist文件是什么?

 

 打开plist文件长这样

plist字段说明:

method:字符串,为打包的类型,分为app-store,ad-hoc,enterprise和development,根据自己实际打包情况填写。

provisioningProfiles:字典,Xcode9需要,键值对为{bundleid:描述文件名},描述文件名最好使用其对应的UUID。

signingCertificate:证书类型,开发环境为iPhone Developer,生产环境为iPhone Distribution。

signingStyle:自动还是手动(manual与automatic),填写manual即可。

stripSwiftSymbols:填写为YES。

teamID:为开团队ID,在钥匙串中点击证书详情可以查看到。

uploadBitcode:为YES即可。

uploadSymbols:为YES即可

 

现在有一个问题是:生成archive文件 和ipa文件的过程中都需要输入登录密码怎么办?

 

 解决办法:

(这是临时的解决办法-在自动化打包时肯定不能这样的吧)又走了一遍流程,这次点击了【始终允许】,就不弹出了

或者参考这篇文章

https://blog.csdn.net/xiao_wu_xiao/article/details/50961661

posted @ 2019-07-04 16:01  wangju003  阅读(2896)  评论(0编辑  收藏  举报