我的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/

xcodebuild 打包的更多相关文章

  1. iOS xcodebuild 打包app

    1.传统的app打包(没有使用cocopods) 在打包之前,先把证书和配置文件选好. step1:打开终端,cd 进入到工程目录中 step2:xcodebuild clean(如果buid文件存在 ...

  2. 通过xcode或xcodebuild进行打包

    在实际应用中需要用到debug的安装包,所以决定自己学习一下打包,打包过程中遇到了各种问题,下面记录了一下我在打包中用到的步骤,当然我还有很多不明白的地方,如果有不对的地方,希望可以大家可以指出   ...

  3. iOS Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  4. 了解 xcodebuild 命令 ,自动打包ipa

    引用博客:http://blog.nswebfrog.com/2015/10/31/xcodebuild/ 在 iOS 开发中,如果需要把工程打包成 ipa 文件,通常的做法就是在 Xcode 里点击 ...

  5. xcodebuild命令行打包发布ipa

    配置好证书,然后在命令行转到项目目录 1.清除 EthantekiiMac:CTest ethan$ xcodebuild clean 2.编译 EthantekiiMac:CTest ethan$ ...

  6. xcodebuild和xcrun实现自动打包iOS应用程序

    随着苹果手持设备用户的不断增加,ios应用也增长迅速,同时随着iphone被越狱越来越多的app 的渠道也不断增多,为各个渠道打包成了一件费时费力的工作,本文提供一种比较智能的打包方式来减少其带来的各 ...

  7. (转)最近研究xcodebuild批量打包的一些心得

    以前的时候只知道做安卓开发的兄弟挺辛苦的,不但开发的时候要适配一堆的机型,好不容易开发完了还要打一堆不同的包给不同的市场.没想到现在这些市场都开辟iOS市场,于是需要打一堆的包给不同的市场,面对暂时给 ...

  8. iOS利用xcodebuild命令自动打包方法

    1,xcode项目先打包试一下可以打包成功 2,创建一plist导出文件 3,xcodebuild命令直接运行 导出文件内容: <?xml version="1.0" enc ...

  9. Mac Angular打包报错xcode-select: error: tool 'xcodebuild' requires Xcode

    Mac Angular打包报错: Error: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer ...

随机推荐

  1. javaweb学习之建立简单网站

    看到很多网站,论坛等,很实用,想做一个,比如中国图书网,它们的共同特点是运行在浏览器中. 最简单可行的技术就是jsp实现,但是jsp虽然可以在服务器端显示,在客户端连接数据库,且客户端和服务器端要完成 ...

  2. js 拷贝树copytree

    希望能摆脱lodash的深拷贝

  3. js的with语句,和debugger语句

    减少操作,速度及慢, 严格模式无法使用 debugger 在程序中打断点 'use strict' var name = 'global'; var obj = { name: "ajanu ...

  4. Docker Macvlan网络部署

    Macvlan Bridge模式 节点1创建 docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1. ...

  5. PAT甲级1139 First Contact

    题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805344776077312 题意: 有m对朋友关系,每个人用4为数 ...

  6. SQL Server2012远程访问设置

    http://jingyan.baidu.com/article/a681b0de3bdb7b3b19434667.html?qq-pf-to=pcqq.group 1.打开SQL server201 ...

  7. ubuntu创建用户的两种方式

    ubuntu创建用户有两种方式: useradd和adduser 这两者,就像零件与产品的关系.useradd是DIY,需要自己调配,adduser是品牌机,拿来就能用. 对于创建一般用户来讲,use ...

  8. [No0000163]卷福、神秘博士和一群老戏骨表演群口相声:To be or not to be该咋念,简直高潮迭起

        'To be or not to be, that is the question',<哈姆雷特>中这句经典台词到底应该怎么念? 这是古今无数哈姆雷特演员最爱琢磨的问题,一千个人就 ...

  9. [No0000125]WCF安全体系

    WCF的安全体系主要包括三个方面:传输安全(Transfer Security).授权或者访问控制(Authorization OR Access Control)以及审核(Auditing).而传输 ...

  10. Flannel配置详解

    1.简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机 ...