为了适配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(未测试成功)

  1. 通过 macOS 版 Transporter App,您可以便捷地将 App 上传至 App Store Connect 以便在 App Store 上分发。除了上传构建版本,您还可以查看交付进度(包括警告、错误和交付日志)以及交付历史。
  2. 您可以在 Mac App Store 中下载 Transporter App
  3. 有关更多信息,请参见“macOS 版 Transporter 帮助”。

  遇到的问题:

  1. 提交ipa后,一直卡在验证环节,长时间没有响应
  2. 没有任何错误提示

三、xcode上传(适合通过xcode直接打包上传)

  1. Xcode 是 Apple 的集成开发环境(IDE)。Xcode 可用于为 Apple 产品(包括 iPad、iPhone、Apple Watch、Apple TV 和 Mac)构建 App。Xcode 提供诸多工具,能帮助您管理整个开发工作流程——包括创建、测试、优化 App 并将其提交至 App Store。
  2. 若要了解如何通过 Xcode 上传您 App 的二进制文件,请前往“Upload an app to App Store Connect(上传 App 至 App Store Connect)”,或者在 Xcode 中选择“Help(帮助)”>“Xcode Help(Xcode 帮助)”并搜索“Upload an app(上传 App)”。
  3. 请在 Mac App Store 中下载 Xcode
   

xcode 11.3 发布ipa采坑记录的更多相关文章

  1. Charles 抓包工具安装和采坑记录

    Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...

  2. Antd前端开发采坑记录

    背景 基于页面友好,界面整洁美观:基于Antd框架开发虾能平台 选型 基于Antd-admin工程架构,进行开发:基于Antd+React+Umj 采坑记录 按照Html方式天机onClick方法,每 ...

  3. HUE Oozie : error=2, No such file or directory采坑记录

    HUE Oozie : error=2, No such file or directory采坑记录 1.错误详情 一直都是同一种方式在hue上定义workflow,不知为啥 今天定义的就是不行... ...

  4. uni-app采坑记录

    1. uni-app采坑记录 1.1. 前言 这里记录下uni-app实践中踩的坑 1.2. 坑点 1.2.1. 触发事件@longTap和@longpress 这两个都表示长按触发事件,那么这两个有 ...

  5. v8环境搭建采坑记录

    项目组有把js接入C++服务求的需求,故开始了v8接入的工作,用了一天多时间,v8才在centos环境上成功安装,过程中踩了很多坑,下面将采坑过程记录如下: centos下编译安装v8:   查看ce ...

  6. angular采坑记录

    在angular中会遇到一些莫名的问题,导致不能完成想要的功能,可能是某项用法使用错误,或许是angular相对应不支持,或者是我们功力根本就没有达到.为了在每次采坑之后能有所收获,再遇到时能理解其根 ...

  7. golang采坑记录

    安装golang,引入第三方库,采坑 1.获取安装包 go语言中文网:https://studygolang.com/dl 官网地址:https://studygolang.com/dl 2.下载 选 ...

  8. Win7 node多版本管理gnvm采坑记录

    采坑描述:下载新node版本及切换node失败 解决:1.要用管理员权限启动cmd:2.确保node是空闲的 Gnvm下载地址: 32-bit | 64-bit Github 1.下载之后为 得到一个 ...

  9. Android Studio采坑记录

    折腾了几个月的Android Studio,终于在今天被我搞定了 ( ̄▽ ̄)~* 开贴记录下,免得下次再次采坑 先说下我之前电脑的环境配置吧,sdk是几年前在网上下载别人整理出来的包,一直没有更新过 ...

随机推荐

  1. 基于云开发开发 Web 应用(一):项目介绍 & 初始化

    基于云开发开发 Web 应用(一):项目介绍 & 初始化 背景描述 Linux 中国曾在过去的 1 - 2 年内长期运行了一个 TL;DR 的中国版.不过当时做的版本是小程序的版本,一直以来, ...

  2. php编译完php.ini加载问题-Loaded Configuration File (none)

    编译安装php7时指定了--with-config-file-path=/usr/local/php7/etc,修改了 php.ini 的配置后重启,但就是不生效. 出现Loaded Configur ...

  3. keras冒bug

    使用keras做vgg16的迁移学习实验,在实现的过程中,冒各种奇怪的bug,甚至剪贴复制还是出问题. 解决方案: 当使用组合keras和tensorflow.keras时.由于版本不一致问题导致很多 ...

  4. 程序的健壮性Robustness

    所谓的程序健壮性是指处理异常的能力,在异常中能够独立处理异常,并且把正确的答案输出. 例如: 有一个程序能够下载一个文件到指定的路径,但是这个路径是不存在的,因此程序必须要处理这个情况. 例1:下面的 ...

  5. CUDA学习(一)之使用GPU输出HelloWorld

    最近在学习CUDA,编程入门第一步便是“HelloWorld”,主要代码如下: #include "cuda_runtime.h" #include "device_la ...

  6. 五大常见算法策略之——动态规划策略(Dynamic Programming)

    Dynamic Programming   Dynamic Programming是五大常用算法策略之一,简称DP,译作中文是"动态规划",可就是这个听起来高大上的翻译坑苦了无数人 ...

  7. eclipse编写代码所遇到的问题

    spring方面: 1.Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListabl ...

  8. tmobst6an

    (单选题)Oracle数据库中,在SQL语句中连接字符串的方法是:(). A)CAT B)CONCAT C)JOIN D)UNION 解析:Oracle可以使用CONCAT关键字或"||&q ...

  9. LIBCMTD.lib与libcpmtd冲突的解决方法。

    error: 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int) ...

  10. 浅谈无线局域网WLAN

    无线局域网WLAN 一.概述 有线局域网的组成如下图所示,多台计算机通过双绞线连接到一个集线器(hub)或交换机(switch)上,组成一个有限局域网. 无线局域网的组成如下图所示,多台计算机通过无线 ...