苹果应用商店上架流程
上架过程分七个步骤,按步骤一步步来。
仔细看这个流程,少走很多弯路,不用一步步去试错,新手也能快速掌握上架流程。
1、创建APP身份证(App IDs)
2、申请iOS发布证书
3、申请iOS发布描述文件
4、上传ios证书编译打包IPA
5、在iTunes Connect创建App
6、Windows下上传IPA到App Store
7、上传好IPA回到iTunes Connect填写APP信息并提交审核
一、创建唯一标示符BundleID (App IDs)
BundleID (App IDs)如果之前真机调试时创建过,跳过这步,还是用之前的那个,直接进行第二步,申请发布证书。
APP IDs在后面创建发布文件,创建APP时都要用到。(appid非常重要,整个上架流程就是用appid关联在一起)
1.1首先登录开发者中心https://developer.apple.com/account,进入证书页面,点击下图红圈处进入。
如果苹果账号登录是下面这种界面说明还没有付费加入开发者
请看下面的教程
申请苹果开发者账号教程
1.2选择侧边栏App IDs –>点击右上角+号,添加一个新的App ID
第一项Name,用来描述你的App ID,这个随便填,没有什么限制,(不允许中文)比如你的app叫淘宝,可以设置为拼音taobao
第二项Bundle ID (App ID ),APP的身份证号。填写App ID 的格式为:com.company.appName(要有两个点.)如app名字是淘宝可以编成com.app.taotao,随便编,好记就行了。
后面申请ios证书、打包ipa和在itunesconnect创建APP都要用到appid(com.app.taotao) 整个app上架流程就是靠这个appid关联在一起。
第三项配置服务权限,默认会选择2项,不能修改,其它常用的有苹果支付,APP推送通知,如果你要做苹果支付、推送通知或者其他什么,就把对应的勾选上,如果没什么要求直接默认直接Continue,下一步。
直接点击Register后点击Done完成App ID的创建。
二、申请发布证书
iOS各类证书申请教程、各种证书用法不同。
iOS开发证书申请(真机调试)
iOS发布证书申请(发布上架App Store)
iOS推送证书申请(APP推送通知)
iOS企业证书申请(免上架App Store安装手机使用)
这里是上架App Store所以申请iOS发布证书
2.1打开Appuploader,输入苹果开发者中心账号,登录。
如果还没安装Appuploader先安装好
Appuploader安装教程
打开Appuploader,用苹果开发者账号登录。
2.2、选择证书选项
2.3、点击右下角+ADD选择,下拉选择发布证书,输入证书名称(不要中文、随意设置),邮箱(随意),密码(证书的密码、比如设置123这样,不用很复杂,记好、打包时要用、很重要)、点击ok创建。
注意:iOS发布证书最多能申请3个,如果账号已经有3个发布证书了,将申请报错。
一个发布证书可以用于多个APP上架,不是说只能申请3个发布证书就只能上架3个app,完全不用每个app都申请个发布证书p12,发布证书p12是可以通用的,区分开下面步骤申请的的描述文件就行了。
也可以删掉之前的发布证书,重新创建,不会影响已上架的app。
2.4、创建成功后,找到刚创建的发布证书(iOS Distribution这个类型的就是发布证书,如果之前创建过请看过期时间就知道哪个是新创建的了),点击p12 文件,下载保存.p12证书文件到电脑。
三、创建iOS发布描述文件
3.1、返回Appuploader首页,选择描述文件。
3.2、点击+ ADD,选择发布版描述文件,选择应用id(第一步骤申请的那个appid,如com.app.taobao),勾选上个步骤申请的发布证书p12(如果申请了多个发布证书,这里会显示多个,直接选中全部就行了)
输入名称(不用中文,随意,123之类的就行),点击ok创建。
3.3、选择刚创建的发布版描述文件(iOS Distribution这个类型的就是发布描述文件,找刚创建的输入的名字),点击Download下载,保存到电脑
现在发布证书,发布描述文件都有了,就可以去打包ipa了。
四、上传证书编译打包
各平台打包教程、根据自己使用的开发平台去打包,使用的证书都是一样的。
lbuilder打包网站教程
xcode打包教程
HBuilder打包教程
APICloud打包教程
phonegap打包教程
AppCan打包iOS
变色龙打包ipa教程
这里以HBuilder平台为例
使用其他开发平台的,可以加群交流。
1、打开HBuilder工具,选择完工的项目,点击发行,选择发行为原生安装包。
2、选择iOS打包,支持的设备类型(可以选择支持iPhone和支持ipad),选择使用苹果证书
AppID,苹果开发者中心申请的那个,如com.app.taobao
profile文件,选择上传配置文件.mobileprovision
私钥证书,上传.p12文件
私钥密码,输入创建p12设置的密码。
然后点击打包。
3、打包成功后,下载保存ipa,这个ipa包就能上传审核了。
五、在iTunes Connect创建App
5.1回到软件,点击ItunerConnect,登录iTunes Connect进入创建APP。
5.2选择我的APP点击左上角+号选择新建APP,选择平台iOS,输入你的应用名称,语言,套装ID(与刚才创建iOS发布描述文件时所选的appid要一致)
sku不能写中文,自己用拼音随便编一个,好识别就行,如app叫淘宝,就输入taobao,这样就很好记了。
创建了APP然后就可以回到Appuploader上传ipa
六、Windows环境下上传IPA到App Store
6.1返回Appuploader程序,点击提交
6.2选择刚生成的iap包
6.3Appuploader将自动上传你的IPA,此时可以进行下一个步骤,ipa文件等它继续上传,包如果很大需要上传一段时间,当出现以下提示时(packages were uploaded successfully 进度条蓝色),说明上传成功。
如果进度条红色说明失败,复制最下面的错误提示,翻译下查看具体问题。
常见的两个错误
一、版本号重复,在itunesconnect后台已存在一个相同版本的ipa包,解决方法是打包时增加下版本号重新传。
比如下面的错误提示是说已存在一个2.0.8的版本,可以增加为2.0.9打包重新上传。
1 package(s) were not uploaded because they had problems:
C:\Users\ADMINI~1\AppData\Local\Temp\au\itmsp\1366177828.itmsp – Error Messages:
ERROR ITMS-4238: “Redundant Binary Upload. You鈥檝e already uploaded a build with build number ‘201803301650’ for version number ‘2.0.8’. Make sure you increment the build string before you upload your app to iTunes Connect. Learn more in Xcode Help (http://help.apple.com/xcode/mac/current/#/devba7f53ad4)” at SoftwareAssets/PreReleaseSoftwareAsset
2、开通过专用密码上传需要配置专用密码,要不上传报一下错误。
1 package(s) were not uploaded because they had problems:
C:\Users\ADMINI~1\AppData\Local\Temp\au\itmsp\1346411136.itmsp – Error Messages:
Sign in with theapp-specific passwordyou generated. If you forgot the app-specific password or need to create a new one, go to
appleid.apple.com
(-22938)
专用密码上传ipa配置教程
其他原因报错的可以复制错误翻译看下情况。
如果提示上图这样,就表示上传成功了,可以到https://itunesconnect.apple.com后台查看上传的版本。
请看第七步介绍。
七、回到iTunes Connect提交审核
7.1上传了IPA,回到iTunes Connect,进入这个APP填写信息的页面,点击活动,这里会显示上传成功的构建版本,刚上传会显示正在处理。
根据包的大小处理时间不一,10多M的几分钟,可以先去设置app的其他信息,看下面的步骤。
特别注意:如果在Appuploader上传ipa成功了,但上去iTunes Connects在活动那里查看还没出现构建版本,或者构建版本消失了。
出现这种情况,一般是证书没用对,或者ipa包配置有问题,苹果会发送具体原因到邮箱(开发者账号就是邮箱地址),登录邮箱查看,修改错误重新打包上传。
再次注意:修改好重新打包的时候一定要增加下版本号,要不上传不了,报错。
之前上传的ipa是不能删除的,只需要打包构建ipa的时候增加下版本号,就能上传了。
比如你之前上传的是1.0版本,打包时可以改成1.1或者2.0都行,
不需要对应修改后台网页1.0准备提交那的版本号,打包的版本跟这里不相干的。
到时上架成功了,App Store商店显示版本号还是会1.0
APP上传后要一定的时间处理,可以先去设置APP的各项信息,
7.2先选择第一项APP信息、选择APP的类别、次要类别可以不填、选择好点击储存。
7.3、选择左边的第二项价格与销售范围、免费APP就设置为免费、销售范围如果只是中国就选中国、设置好储存。
7.4、选择左边第三项准备提交、这个页面需要设置几项信息、一步一步来。
先设置app截图、打开上架前测试安装的app,截图你想展示的app页面,一定要用苹果手机截图,不能用安卓或者浏览器截图,5.8寸是iPhoneX截图的不是必须设置的,没有可以不设置,5.5寸的图片大小为1242*2208、用5.5寸的苹果手机截图的就是这个尺寸了,如果小屏苹果手机,如iPhone5s截图的用ps调整为1242*2208就行了。
最少上传1张最多5张截图。如果你的app支持ipad也要上传ipad的截图,尺寸为2048 x 2732。
app预览是视频的意思,可以不上传。
7.5、往下拉、设置app的宣传语、描述、关键词(搜索你app的关键词、可以设置多个,多个关键词用英文状态下的逗号隔开,)
技术支持网址可以设置为公司网站个人网站。
没网站直接设置我们的官网也行 http://www.applicationloader.net
7.6、选择构建版本、上传了ipa构建版本,活动那里处理完了,旁边会出现+号、点击+号选择你的构建版本
如果之前选择过版本了,要选新上传的包、移动鼠标到app那里,点击红色删除键,重新点击+号选择版本。
7.7、版权按照格式设置,每个网站下面都有版权信息,可以参考格式写。© Appuploader 这样
然后点击分级的编辑进入下一步设置
7.8、分级选项根据自己的app情况选择。
7.9、如果app有登录功能的一定要提供个账号给苹果审核测试,如果app没有登录的去掉打钩,
填写联系信息,注意电话格式前面加+86后面再写手机号。
7.10、各项信息如此就设置好了,存储好、点击提交以供审核、进去下一步。
7.11、这里出现的信息根据app的类型不同、有不同的选项、根据自己的app的情况选择
一般选择否。
然后提交、显示为正在等待审核、耐心的等苹果公司那边审核了,初次提交1到2天出结果
7.12提交审核回到我的APP查看会提示正在等待审核,审核有时很快一两天,或要几天时间,常登陆看看审核情况,或看邮件提示。
如果变成可供销售,恭喜你~上架成功了,如果显示被拒绝,点击查看问题,根据反馈修改再重新打包上传提交审核。
相关文章:
苹果应用商店上架流程
上架过程分七个步骤,按步骤一步步来。 仔细看这个流程,少走很多弯路,不用一步步去试错,新手也能快速掌握上架流程。 1、创建APP身份证(App IDs) 2、申请iOS发布证书 3、申请iOS发布描述文件 4、上传ios证…...
基于Eclipse下使用arm gcc开发GD32调用printf
系列目录 第一章 xxx 目录 系列目录 文章目录 文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结前言 开发环境:Eclipse代替Keil,IAR 开发平台:GD32 开发编译器:arm-none-eabi- …...
5个降低云成本并提高IT运营效率的优先事项
在过去的十年里,公司在公有云和私有云基础设施上构建了大量的计算工作负载,或者将工作负载转移到云端。Gartner 预测,到2023年,全球终端用户在公共云服务上的支出将达到5910亿美元,比2021年增长43%。这是一个显著的增长…...
95-拥塞控制
拥塞控制1.什么是拥塞控制2.拥塞控制的方法(1)慢启动和拥塞避免(2)快速重传和快速恢复1.什么是拥塞控制 在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超…...
Linux常见操作命令【二】
一、Vi 编辑器 Vi 编辑器存在三者模式:命令、末行、编辑 1.1 命令模式 输入 vi 默认进入命令模式 输入n或者nG:定位到某一行行首 输入G:跳到文件最后一行行首 输入hjkl:表示左下上右移动光标(方向键也可以…...
Linux驱动中断和定时器
目录 中断 顶半部/底半部机制 软中断: Tasklet: 工作队列: 定时器 中断 中断是正在执行的程序被另一个程序打断,去执行另一个程序的处理函数,当执行完再返回执行被打断的程序。分为内中断(异常)和外中断(硬件中断)。 当cp…...
表达式和函数
表达式: 将数字和运算符连接起来的组合称为表达式。我们可以将数字称为操作数,单个操作数也可以被看作是一个表达式。 操作数:常数,列名,函数调用,其他表达式 运算符:算数运算符,…...
C#基础复习
目录 格式字符串 多重标记和值 预定义类型 用户定义类型 值类型和引用类型 存储引用类型对象的成员 C#类型的分类 静态类型和dynamic关键字 类的基本概念 类成员的类型 为数据分配内存 访问修饰符 格式字符串 多重标记和值 C#程序就是一组类型声明,学习C#就是学习…...
Windows服务器使用代码SSH免密登录并执行脚本
服务器操作系统 Window Server 2016 1、Windows服务器安装OpenSSH 有多种方式,本文介绍一种方式 下载页: https://github.com/PowerShell/Win32-OpenSSH/releases 在下载页下载文件OpenSSH-Win64.zip 本次实验解压至 D:\OpenSSH-Win64\OpenSSH-Win6…...
(Deep Learning)交叉验证(Cross Validation)
交叉验证(Cross Validation) 交叉验证(Cross Validation)是一种评估模型泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。 交叉验证不但可以解决数据集中数据量不够大的问题,也可以…...
通俗举例讲解动态链接】静态链接
参考动态链接 - 知乎 加上我自己的理解,比较好懂,但可能在细节方面有偏差,但总体是一致的 静态链接的背景 静态链接使得不同的程序开发者和部门能够相对独立的开发和测试自己的程序模块,从某种意义上来讲大大促进了程序开发的效率…...
K8S部署常见问题归纳
目录一. 常用错误发现手段二、错误问题1. token 过期2. 时间同步问题3. docker Cgroup Driver 不是systemd4. Failed to create cgroup(未验证)子节点误执行kubeadm reset一. 常用错误发现手段 我们在部署经常看到的提示是: [kubelet-check] It seems …...
Redis高可用
最近离职后还没开始找工作,在找工作前去学习一下Redis高可用方案。 目录Redis高可用高可用的概念实现方式持久化主从复制简单结构优化结构优缺点哨兵模式(Sentinel)哨兵进程的作用自动故障迁移(Automatic failover)优缺点集群优缺点Redis高可…...
Hyperledger Fabric 2.2版本环境搭建
前言 部署环境: CentOS7.9 提前安装好以下工具 git客户端golangdockerdocker-composecurl工具 以下是个人使用的版本 git: 2.39.2golang: 1.18.6docker: 23.0.3dockkekr-compose: v2.17.2curl: 7.29.0 官方文档参考链接:跳转链接,不同的版本对应的官…...
macOS Monterey 12.6.5 (21G531) Boot ISO 原版可引导镜像
本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 2023 年 4 月 10 日(北京…...
【软件设计师13】数据库设计
数据库设计 1. 数据库设计过程 2. E-R模型 3. E-R图向关系模型的转换 例如一对一联系,可以将联系单独做为关系模式,也可以存放到任意一个实体中 而一对多要合并只能合并到多这边,不能存放到1 多对多则联系必须单独转成一个关系模式 4. 案…...
SpringMVC的全注解开发
文章目录一、spring-mvc.xml 中组件转化为注解形式二、DispatcherServlet加载核心配置类三、消除web.xml一、spring-mvc.xml 中组件转化为注解形式 跟之前全注解开发思路一致, xml配置文件使用核心配置类替代,xml中的标签使用对应的注解替代 <!-- 组件…...
C# | 导出DataGridView中的数据到Excel、CSV、TXT
C# | 导出DataGridView中的数据到Excel、CSV、TXT 文章目录C# | 导出DataGridView中的数据到Excel、CSV、TXT前言DataGridView数据转存DataTableDataTable转Excel方法一、使用Microsoft.Office.Interop.Excel方法二、使用EPPlus库方法三、使用NPOI库DataTable转CSVDataTable转T…...
新规拉开中国生成式AI“百团大战”序幕?
AI将走向何方? ChatGPT在全球范围掀起的AI热潮正在引发越来越多的讨论,AI该如何管理?AI该如何发展?一系列问题都成为人们热议的焦点。此前,马斯克等海外名人就在网络上呼吁OpenAI暂停ChatGPT的模型训练和迭代…...
日撸 Java 三百行day31
文章目录day31 整数矩阵及其运算面向对象思想java异常处理java中的getter和setter方法代码day31 整数矩阵及其运算 面向对象思想 结合之前day7和day8面向过程开发,只关注了矩阵加法和矩阵乘法的功能。而day31是面向对象开发,一个矩阵类,在这…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
