xcode 11.3 发布ipa采坑记录
为了适配ios13,特意更新了xcode11.3 。更新完后发现 application loader没有了,然后蒙了。
然后网上一顿搜索,归纳出了三种上传方式:
一、altool
使用xcode中的命令方式上传
$ xcrun altool --validate-app -f file -t platform -u username [-p password] [--output-format xml]
$ xcrun altool --upload-app -f file -t platform -u username [-p password] [—output-format xml]
这种方式需要在https://appstoreconnect.apple.com/ ->用户和访问->密钥
->创建密钥信息
1、记录issuer ID
2、创建密钥
3、记录密钥ID
4、下载密钥文件(文件只能下载一次,要保存好)
5、将下载的密匙文件(***.p8)复制到 ~/.private_keys/
6、使用命令上传
xcrun altool --upload-app -f *ipa文件路径* -t *要发布的平台:osx、ios 或 appletvos* --apiKey *密钥ID* --apiIssuer *issuer ID*
7、正常的情况下在10分钟内命令会有操作结果(不管成功还是失败),如果长时间没有返回结果,那就是有问题。
8、常见问题
a、密匙文件没有复制到~/.private_keys/,提示文件找不到,altool有默认查询密匙文件的路径
b、ipa文件找不到,需要确定当前执行命令的路径和ipa文件路径是否能匹配
c、如果长时间没有返回结果,则本地~/.itmstransporter/ 的文件版本不匹配,解决方案:
执行命令
cd ~
mv .itmstransporter/ .old_itmstransporter/
"/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter"如果本地找不到 Application Loader.app,需要先安装 Application Loader.app。网盘地址如下:
链接: https://pan.baidu.com/s/1aGhl8M05lqehbj84XrDBIA 提取码: rsn6
安装后,在应用程序中找到
Application Loader,右键显示包内容,找到 Contents/itms/bin/iTMSTransporter ,打开运行。- 运行结束后,在 ~/.itmstransporter/ 会有新下载的文件
- 成功后,重启电脑,再次执行
xcrun altool --upload-app -f *ipa文件路径* -t *要发布的平台:osx、ios 或 appletvos* --apiKey *密钥ID* --apiIssuer *issuer ID*
二、Transporter app(未测试成功)
- 通过 macOS 版 Transporter App,您可以便捷地将 App 上传至 App Store Connect 以便在 App Store 上分发。除了上传构建版本,您还可以查看交付进度(包括警告、错误和交付日志)以及交付历史。
- 您可以在 Mac App Store 中下载 Transporter App。
- 有关更多信息,请参见“macOS 版 Transporter 帮助”。
遇到的问题:
- 提交ipa后,一直卡在验证环节,长时间没有响应
- 没有任何错误提示
三、xcode上传(适合通过xcode直接打包上传)
- Xcode 是 Apple 的集成开发环境(IDE)。Xcode 可用于为 Apple 产品(包括 iPad、iPhone、Apple Watch、Apple TV 和 Mac)构建 App。Xcode 提供诸多工具,能帮助您管理整个开发工作流程——包括创建、测试、优化 App 并将其提交至 App Store。
- 若要了解如何通过 Xcode 上传您 App 的二进制文件,请前往“Upload an app to App Store Connect(上传 App 至 App Store Connect)”,或者在 Xcode 中选择“Help(帮助)”>“Xcode Help(Xcode 帮助)”并搜索“Upload an app(上传 App)”。
- 请在 Mac App Store 中下载 Xcode。
xcode 11.3 发布ipa采坑记录的更多相关文章
- Charles 抓包工具安装和采坑记录
Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...
- Antd前端开发采坑记录
背景 基于页面友好,界面整洁美观:基于Antd框架开发虾能平台 选型 基于Antd-admin工程架构,进行开发:基于Antd+React+Umj 采坑记录 按照Html方式天机onClick方法,每 ...
- HUE Oozie : error=2, No such file or directory采坑记录
HUE Oozie : error=2, No such file or directory采坑记录 1.错误详情 一直都是同一种方式在hue上定义workflow,不知为啥 今天定义的就是不行... ...
- uni-app采坑记录
1. uni-app采坑记录 1.1. 前言 这里记录下uni-app实践中踩的坑 1.2. 坑点 1.2.1. 触发事件@longTap和@longpress 这两个都表示长按触发事件,那么这两个有 ...
- v8环境搭建采坑记录
项目组有把js接入C++服务求的需求,故开始了v8接入的工作,用了一天多时间,v8才在centos环境上成功安装,过程中踩了很多坑,下面将采坑过程记录如下: centos下编译安装v8: 查看ce ...
- angular采坑记录
在angular中会遇到一些莫名的问题,导致不能完成想要的功能,可能是某项用法使用错误,或许是angular相对应不支持,或者是我们功力根本就没有达到.为了在每次采坑之后能有所收获,再遇到时能理解其根 ...
- golang采坑记录
安装golang,引入第三方库,采坑 1.获取安装包 go语言中文网:https://studygolang.com/dl 官网地址:https://studygolang.com/dl 2.下载 选 ...
- Win7 node多版本管理gnvm采坑记录
采坑描述:下载新node版本及切换node失败 解决:1.要用管理员权限启动cmd:2.确保node是空闲的 Gnvm下载地址: 32-bit | 64-bit Github 1.下载之后为 得到一个 ...
- Android Studio采坑记录
折腾了几个月的Android Studio,终于在今天被我搞定了 ( ̄▽ ̄)~* 开贴记录下,免得下次再次采坑 先说下我之前电脑的环境配置吧,sdk是几年前在网上下载别人整理出来的包,一直没有更新过 ...
随机推荐
- MYGUI3.2改造——与HGE结合,实现资源打包
其实这个有点标题党的意思.MYGUI本身有资源打包的接口,可以实现从内存读取文件. 而HGE也提供了资源打包的功能(不过HGE的资源文件管理比较弱).把MYGUI的接口接到HGE上就可以实现MYGUI ...
- 前端基础JavaScript
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...
- gerrit merge后不能提交问题
需求:git 分支合并 问题:使用 git merge 在本地执行分支合并操作,然后想 push 到 gerrit 上评审入库,可是在提交时,提示: ! [remote rejected] HEAD ...
- laravel路由与控制器(资源路由restful)
目前我们大致了解了laravel下,在开始一个Http程序需要先定义路由.之前的例子中,我们的业务逻辑都是在路由里实现,这对于简单的网站或web应用没什么问题,当我们需要扩大规模,程序变得复杂,分层的 ...
- try catch finally的理解
定义以及用法: try/catch/finally 语句用于处理代码中可能出现的错误信息. 错误可能是语法错误,通常是程序员造成的编码错误或错别字.也可能是拼写错误或语言中缺少的功能(可能由于浏览器差 ...
- C语言创建文件夹
问题需求:在程序中需要使用文件夹时,一般可以先在程序目录或某一路径下创建一个文件夹,然后使用该文件夹. 这种方法比较麻烦,需提前创建文件夹. 使用C语言创建文件夹的代码可以如下: #include & ...
- Linux防火墙之iptables常用扩展匹配条件(一)
上一篇博文讲了iptables的基本匹配条件和隐式匹配条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12269717.html:今天在来说说iptabel ...
- 码云(gitee)配置ssh密钥
创建公钥的目的: 使用SSH公钥可以让你在你的电脑和码云通讯的时候使用安全连接(git的remote要使用SSH地址) git中粘贴右击鼠标选择Paste 步骤: 打开终端(git)进入.ssh目录 ...
- nginx的进程结构实例演示
nginx父子进程之间是使用信号进行管理的. nginx -s reload 会使之前的nginx子进程退出,生成新的nginx子进程 或者kill -SIGHUP 9170 kill -SIGTER ...
- LinearLayout中组件右对齐
在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列. 但有时会有这样的 ...