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字段说明:
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
MAC使用命令行打包出ipa包-通过xcodeproj的更多相关文章
- mac命令行对复杂ipa包重新签名
最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...
- xcodebuild命令行打包发布ipa
配置好证书,然后在命令行转到项目目录 1.清除 EthantekiiMac:CTest ethan$ xcodebuild clean 2.编译 EthantekiiMac:CTest ethan$ ...
- C语言基于窗体命令行打包,解包和浏览程序
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>#inc ...
- mac下使用命令行打包出现bash gradle command not found的解决方案
命令行打包的时候出现 bash gradle command not found这个问题,主要是因为gradle环境丢失.需要重新配置gradle的环境变量. 1. gradle路径的查找 然后gra ...
- IOS使用命令行打包
1.安装证书 develop:调试证书,包含调试信息 安装时需要证书已加入设备UDID或是越狱设备才能安装. distribution:正式证书,发布到appstore所用,屏蔽了调试信息,要想测试安 ...
- android 7.0 多渠道打包 - 美团开源工具Walle 命令行打包
在Android 7.0(Nougat)推出了新的应用签名方案APK Signature Scheme v2后,之前快速生成渠道包的方式(美团Android自动化之旅-生成渠道包)已经行不通了,对此美 ...
- linux/mac下命令行rm回收站--rmtrash
Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找 ...
- Mac 在命令行中获得Root权限
Mac 在命令行中获得Root权限 作者 firedragonpzy 13 九月, 2012 2条评论 本文为firedragonpzy原创,转载务必在明显处注明:转载自[Softeware MyZo ...
- 命令行下打WAR包
命令行下打WAR包: jar -cvf TestMem.war *
随机推荐
- [Codeforces722E] Research Rover (dp+组合数学)
[Codeforces722E] Research Rover (dp+组合数学) 题面 给出一个N*M的方格阵,从(1,1)出发,到(N,M)结束,从(x,y)只能走到(x+1,y)或(x,y+1) ...
- DP50题(转)
转自https://www.luogu.org/blog/cccx2016/dp50-ti-ti-hao dp50题: poj1014 poj1015 poj1018 poj1036 poj1038 ...
- 2018CCPC吉林赛区(重现赛)
http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么. #include<bits/stdc++.h& ...
- Redis设计与实现 -- 链表与字典
1. 链表 1.1 链表的结构 在 Redis 中,链表的实现是双向链表,除此之外与常规的链表不同的是它还有三个函数指针,dup 函数用于复制链表节点所保存的值,free 函数用于释放链表节点保存的值 ...
- c# 获取 Apk ,Aar 文件包名
最近项目有个需求,需要拿到前端上传的Apk或者Aar文件里面的包名. 在这里贡献出来,方便有需求的小伙伴. 项目是 asp.net core 2.2 需要安装 nuget : AndroidXml S ...
- kafaka环境搭建
激动无比,终于成功搭建了一套集群的kafka,记录下我的搭建步骤,供大家参考,如有不对,请指正: 1.集群搭建 首先搭建一个一主三从(或一主两从)的集群, 2.配置jdk环境 需要是jdk8的包 我的 ...
- 在pythonanywhere部署你的第一个应用
pythonanywhere是一个免费的托管python的代码,可以测试你的web应用,用起来还是比较方便的,现在就来介绍如何在pythonanywhere部署你的应用. 下载你的代码 我的代码是托管 ...
- 2018-2-13-win10-uwp-简单MasterDetail
title author date CreateTime categories win10 uwp 简单MasterDetail lindexi 2018-2-13 17:23:3 +0800 201 ...
- vue,一路走来(11)--HTML5 History模式
HTML5 History模式 项目中我用的是history模式. 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不 ...
- centos GIT安装
[注](yum 源仓库里的 Git 版本更新不及时,最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2.想要安装最新版本的的 Git,只能下载源码进行安装.) 安装git服务 ...