美文网首页iOSiOS开发奔跑吧 iOS
iOS命令行自动打包(archive)

iOS命令行自动打包(archive)

作者: 苏小妖灬 | 来源:发表于2016-12-23 09:27 被阅读5841次

前言

iOS开发工程师在测试修复bug的过程中,一般会存在频繁打包的情况,如果一步步在xcode中点击archive,下一步,下一步。。。这样太浪费我们的时间了。下面我们来介绍在命令行使用xcodebuild命令进行自动archive打包并且导出ipa文件。

准备工作

打开你的项目工程配置你的证书和描述文件:

配置证书.png

clean一下你的工程

进入到你的工程目录下面:
  cd /Dandy/dandy_workSpace/TestAutoPacking/
  使用以下命令clean工程:
  xcodebuild clean -project TestAutoPacking.xcodeproj -scheme TestAutoPacking -configuration Release
  如果你的工程pod了第三方库,那么你的工程目录下会有".xcworkspace"文件,你将使用这个文件来打开你的项目工程,我们需要替换下我们的命令:
  xcodebuild clean -workspace TestAutoPacking.xcworkspace -scheme TestAutoPacking -configuration Release

  上面的命令中:
  -project TestAutoPacking.xcodeproj:编译项目名称
  -workspace TestAutoPacking.xcworkspace:编译工作空间名称
  -scheme TestAutoPacking:scheme名称(一般会与你的项目名称相同)
  -configuration Release:(Debug/Release)

clean成功会是这样:

clean.png

archive导出.xcarchive文件

使用下面的命令archive导出.xcarchive文件:
  xcodebuild archive -project TestAutoPacking.xcodeproj -scheme TestAutoPacking -archivePath /dandy/xmeAutoArchive/TestAutoPacking.xcarchive
  或者:
  xcodebuild archive -workspace TestAutoPacking.xcworkspace -scheme TestAutoPacking -archivePath /dandy/xmeAutoArchive/TestAutoPacking.xcarchive

  上面的命令中:
  -project TestAutoPacking.xcodeproj:同clean步骤中一样
  -workspace TestAutoPacking.xcworkspace:同clean步骤中一样
  -scheme TestAutoPacking:同clean步骤中一样
  -archivePath /dandy/xmeAutoArchive/TestAutoPacking.xcarchive:导出.xcarchive文件的目录以及文件名称

archive成功会是这样:

archive.png

同样会在/dandy/xmeAutoArchive目录下面生成一个TestAutoPacking.xcarchive文件:

archiveFile.png

导出ipa包

使用下面命令将.xcarchive文件导出为ipa包:
  xcodebuild -exportArchive -archivePath /dandy/xmeAutoArchive/TestAutoPacking.xcarchive -exportPath /dandy/xmeAutoArchive/TestAutoPacking -exportFormat ipa -exportProvisioningProfile "developmentProfile"

  上面的命令中:
  -archivePath /dandy/xmeAutoArchive/TestAutoPacking.xcarchive:刚刚导出的.xcarchive文件的目录
  -exportPath /dandy/xmeAutoArchive/TestAutoPacking:将要导出的ipa文件的目录以及文件名
  -exportFormat ipa:导出为ipa文件
  -exportProvisioningProfile "developmentProfile":你配置的profile文件的名称:
profile文件名称.png

导出ipa成功会是这样:

ipa.png

同样会在/dandy/xmeAutoArchive目录下面生成一个TestAutoPacking.ipa文件:

ipaFile.png

这样我们的ipa包就导出成功了。

上传ipa包

至于导出ipa包后,怎么安装到手机上,方式就很多了,托管平台也很多:蒲公英,fir.im。就看您自己的选择啦~

结语

希望对您有帮助,谢谢支持欢迎**关注**,我会在空余时间更新技术文章

相关文章

  • iOS自动打包

    iOS命令行自动打包(archive):https://www.jianshu.com/p/2247f76404e...

  • iOS命令行自动打包(archive)

    前言   iOS开发工程师在测试修复bug的过程中,一般会存在频繁打包的情况,如果一步步在xcode中点击arch...

  • iOS命令行自动打包(archive)

    前言 iOS开发工程师在测试修复bug的过程中,一般会存在频繁打包的情况,如果一步步在xcode中点击archiv...

  • iOS命令行自动打包(archive)

    前言: iOS开发工程师在测试修复bug的过程中,一般会存在频繁打包的情况,如果一步步在xcode中点击arch...

  • iOS效率神器fastlane自动打包

    iOS效率神器fastlane自动打包 一、安装xcode命令行工具 xcode-select --install...

  • iOS-自动打包及分发(二)

    iOS-自动打包及分发(一)iOS-自动打包及分发(二)iOS-自动打包及分发(三) 本篇介绍:自动打包及分发xc...

  • iOS命令行自动打包脚本

    iOS命令行自动打包脚本 因为工作上的需要,可能会频繁的打包ipa,于是参考了大佬们的资料后,整合了一份自动打包的...

  • iOS效率神器fastlane自动打包

    iOS效率神器fastlane自动打包 iOS效率神器fastlane自动打包

  • Xcode自动打包

    [iOS]从零开始写个自动打包IPA脚本 【iOS打ipa包】:使用终端实现自动打包 iOS自动打包并发布脚本

  • iOS 自动化打包

    iOS 自动化打包 [iOS, 自动化, 打包, Python, fastlane] iOS在项目开发中少不了打包...

网友评论

  • 今天星期伍:nice,解决了我一个问题
  • FengxinLi:请问一下 /dandy/xmeAutoArchive/ 这个目录是自动生成的吗?
  • 蜗牛有壳1112:你好,请问一下,我的脚本到Touch 这里了,但是** ARCHIVE FAILED **,你知道可能有哪些原因吗?同一个tag 偶尔成功偶尔失败,遇见一两周了,找不到问题
  • 5542dfcbcc00:TestAutoPacking.xcarchive 这个文件的目录是怎么来的啊
    5542dfcbcc00:@苏小妖灬 ios_scheme="$APP_SUB"
    ios_export_path="$iOS_IPA_SAVE_DIR"
    ios_project_path="$APP_SUB.xcworkspace"
    ios_archive_path=""
    ios_configuration="Release"

    脚本是这样写的..
    5542dfcbcc00:@苏小妖灬 我这边提示 error: archive at path '/tmp/DaoxilaApp.xcarchive' is malformed 是为啥呢 在Jenkins上面
    苏小妖灬:就是你保存TestAutoPacking.xcarchive的地址,你自己创建一个就行
  • 南方小金豆:能在脚本里面直接指定好development team 跟profile文件吗?
  • 许久以前:-exportFormat ipa 这个已经不再支持了, 得用optionPlist 指定一个plist文件,这个文件里面,指定发布渠道method : ad hoc 或者App Store
    zongsu:@那份牵挂给了谁 新建一个workspace空间就好了
    南方小金豆:直接用archive命令会提示说 xxx.xcworkspace不存在。这个知道怎么解决吗
  • 微冷l:你好,请问为什么 我提示 -exportArchive without -exportOptionsPlist is deprecated 过时呢?
    微冷l:@许久以前 我没直接发布,只是打出包来
    许久以前:archive 命令不需要指定发布渠道吗?ad hoc 还是 App Store什么的
    微冷l:想顺便问下,脚本写入 team文件名 和 ProvisioningProfile文件编号 怎么写?
  • 奉强:fastlane 你值得拥有
    苏小妖灬:@奉强 我晓得
  • wsj2012:早就一行命令搞定所有工作:pod update + 打包+上传到 appStore 或者 testfight ! 就一行命令 10min内搞定
    苏小妖灬:@wsj2012 嗯,我知道的。
    wsj2012: @苏小妖灬 嗯 ,
    苏小妖灬:需要集成第三方工具吧?
  • i_have_an_Apple:又一个装逼技能get✔️ :stuck_out_tongue_winking_eye:
    苏小妖灬:@i_have_an_Apple 嘿嘿,谢谢支持
  • lxb0706:可以把这些整合到一个脚本...
    苏小妖灬:@ChrisLian 是的。
  • 否极泰来_L:如果只要ipa文件,直接拖出来就可以了:sweat_smile:
    苏小妖灬:@航磊_ 然后呢,ipa呢?
    否极泰来_L:@苏小妖灬 编译一下,然后把.app拖出来
    苏小妖灬:@航磊_ 什么意思?
  • 0d84922e336a:这个也不是自动执行的啊,出了错误还没有Xcode直观明显,是我没看明白?
    苏小妖灬:@奇鑫 通过命令行输入命令来打包,只是替代了你在Xcode中点击的步骤,报错的话,命令行会显示。在我看来,比我在Xcode中一步步的点击方便多了。

本文标题:iOS命令行自动打包(archive)

本文链接:https://www.haomeiwen.com/subject/fhgcvttx.html