iOS应用上架详细图文教程

news2025/1/11 14:45:46

App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些事。

iOS app上架总体流程:

1登录苹果开发者中心,注册开发者账号

如果你是第一次申请注册使用Apple ID登录苹果开发者网站,需要同意“苹果开发者协议”,提交请求,这个时候你的Apple ID 就已经成为了一个开发者的ID了。如图1-1:

苹果开发者中心网址:https://developer.apple.com/

图1-1 同意苹果开发者协议并提交申请

2
申请付费开发者,加入苹果开发计划

图2-1 加入苹果开发者计划

图2-2 开始注册

图2-3 注册说明

补充说明2-1:

  • 双重验证相关

苹果新规定Apple ID需开启双重验证才能注册开发者账号,所以在加入开发者之前需要根据提示开启设备进行双重验证;验证方法采用登录电脑上的iCloud根据提示进行验证(或者其他设备,如登录手机进行双重验证),以下是部分相关图片

图2-4 双重验证相关

图2-5双重验证相关

图2-6 选择开发者类型

补充说明2-2:

  • Apple 开发者账号
  1. 个人账号:个人申请用于开发 Apple App 所使用的账号,仅限于个人使用,可以在 App Store 发布应用,申请比较容易,¥688.00/年 ($99.00/year)。
  2. 公司账号:以公司名义申请的开发者账号,用于公司内部的开发者共用,可以在 App Store 发布应用,申请流程相对麻烦,¥688.00/年 ($99.00/year)。
  3. 企业账号:一般是公司规模在 500 人以上的企业,用于内部测试、分发应用的账号,不能在 App Store 发布应用,申请流程相对麻烦,¥1988/($299.00/year)。

  • 不同开发者账号步骤与所需资料

填写详细的注册信息,统一相关协议,通过验证审核之后再次点击继续进入支付页面,具体步骤参考图2-7:

图2-7 填写注册信息

图2-8 同意协议并且继续

图2-9 注册等待验证通过

图2-10 支付

图2-11 再次登录

图2-12 填写付费信息的页面

支付成功后,苹果会在48小时内对订单进行处理,之后可能会收到邮件要求到指定的页面上传身份证照片。

如果遇到任何问题,可以拨打苹果开发的售后服务电话4006701855

补充说明2-3:

  • 邓白氏DUNS的申请

邓白氏DUNS编码相当于公司在苹果公认的权威组织中注册了自己的身份证;可以点击相关链接先进行验证,没有可以直接申请。具体申请步骤可以参考百度经验:https://jingyan.baidu.com/article/27fa7326bd29df46f9271f10.html

3创建证书

使用APICloud平台开发iOS应用需要用到几个证书,下面的图为各个证书使用的地方。接下来为各个证书的创建教程。

4 创建App ID

首先打开苹果开发网站,通过Account进入开发账户,如图:

登录成功后选择Certificates, Identifiers & Profiles(如果没有这一项请查看教程最开始的说明),如图:

如图,在左侧菜单选择Identifiers,然后点击添加按钮

选择App IDs,点击右上角的Continue按钮

在Bundle ID处选择Explicit,填写自己项目的ID,这里填写的ID即是控制台上传证书页面需要填写的App IDs

如果应用需要使用推送功能,在下面的Capabilities列表中勾选上Push Notifications项,点击Continue

确认信息无误后点击Register,完成创建。

我们这边介绍一个简便的证书制作小方法。

IOS证书制作教程

点击苹果证书 按钮



 

点击新增


 

输入证书密码,名称

这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。
证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类


 

选择证书类型

 带distribution的是发布类型,带development的是开发类型。
 apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的 


 

选择bundle ID

只有部分类型的证书需要选择bundle id,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。


 

使用appuploader服务同步

如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。


 

证书类型说明

IOS开发选择apple development或者ios app development 类型
ios 发布选择 apple distribution或者 ios distribution (app store and ad hoc)
开发推送证书选择 apple push notification service ssl (sandbox)
发布推送证书选择 apple push notification service ssl (sandbox & production)

其他证书不是很常用,可以自行百度各种证书说明

5云编译p12证书制作

若开发账号下已经存在certificate了可以跳过创建的步骤,一个账号下有一个certificate即可,多个应用可以共用。

生成certSigningRequest文件

如图,打开应用程序->实用工具->钥匙串访问

如图,选择从证书颁发机构请求证书

接下来填写邮件地址,选择存储到磁盘,点击继续

如图,保存文件到桌面。

制作p12证书

如图所示,点击左边的Certificates,然后点击添加按钮

如图,如果是个人或公司账号,选择iOS Distribution (App Store and Ad Hoc),如果是企业账号,则选择In-House and Ad Hoc,点击Continue

如图,选择Choose File选择之前生成的certSigningRequest文件,点击Continue完成创建

如图所示,cer证书创建成功,点击Download将证书下载到本地

双击打开证书将其安装到钥匙串,若弹出安装提示,选择安装到“登录”,在钥匙串中找到安装的证书,若提示此证书是由未知颁发机构签名的,请下载Apple Worldwide Developer Relations Certification Authority证书进行安装,地址http://developer.apple.com/certificationauthority/AppleWWDRCA.cer,在左边选择“登录”和“我的证书”,找到证书,在证书上面点击鼠标右键,然后在菜单中选择导出证书,如图:

在弹出页面中指定证书名,点击存储,然后输入证书密码(此密码在控制台上传证书页面输入),点击好,生成p12格式证书。

6 云编译mobileprovision发布证书制作

这里以个人、公司账号创建App Store类型发布证书为例,企业账号创建In House类型发布证书类似。

App Store类型证书

App Store证书只能用于发布应用到AppStore,不能安装在非越狱设备上面。如图,点击左侧菜单Profiles,然后点击添加按钮

选择App Store,点击Continue

如图,选择上面创建的App ID,点击Continue

如图,选择certificates,点击Continue

输入证书名称,点击Generate,完成创建

7 云编译mobileprovision测试证书制作

个人或公司账号生成的App Store类型mobileprovision证书,应用在没有发布到App Store之前只能在越狱设备上安装,若要在非越狱手机上面安装,则需要把设备udid添加到测试设备列表Devices里,并且生成Ad Hoc类型mobileprovision证书。

获取设备udid

获取设备udid可以通过老版本iTunes获取(最新版本无法获取),macOS Catalina及更新系统则可以直接通过“访达”获取,另外也可以通过其它一些手机助手获取。

1、macOS Catalina及更新系统中通过”访达“获取。打开”访达“,连接设备,如图,点击划线上面区域后,会展示出序列号及udid信息,然后点鼠标右键拷贝(拷贝的内容包含序列号、udid等,需手动再筛选udid)。

2、通过老版本iTunes获取。打开iTunes,连接设备,如图,找到序列号,然后点击序列号,该栏会变成UDID,点击鼠标右键,拷贝UDID。

添加测试设备

如图选择左侧菜单Devices,点击添加按钮

输入Name和获取的UDID,点击Continue

点击Register,最后点击Done,添加设备完成。

Ad Hoc类型证书

对于个人和公司账号,Ad Hoc类型证书可以安装到指定的测试设备上面调试。如图,点击左侧菜单Profiles,然后点击添加按钮

如图,选择Ad Hoc,点击Continue进入下一步

如图,选择App ID,点击Continue进入下一步

如图,选择certificates,点击Continue进入下一步

选择设备,然后点击Continue

输入证书名称,点击Generate完成创建

更多内容详见:https://docs.apicloud.com/Dev-Guide/iOS-License-Application-Guidance#1

8 创建App

图6-1 进入iTunes Connect

图6-2 新建App

补充说明6-1“名称”是新建的app在App Store中显示的名字;“SKU”可以填写当天日期外加一个编号即可,这是你为你的应用指定的一个标识符。

图6-3 点击“1.0准备提交”填写App相关信息

接着添加预览图和屏幕快照,编写应用描述和关键词,设置应用图标编辑应用分级,应用图标必须提供1024x1024的图片且图片不能设置alpha通道(透明度);应用分级是为了确定应用使用群体的年龄段。

补充说明6-2苹果官方对于app屏幕快照及预览的规范要求:

注:如果你的应用中有需要登录后才能使用的功能那么就必须提供一个演示账号以供审核应用时使用。

图6-4 提供联系人信息和演示账号

图6-5 选择发布方式并保存应用信息

注:根据自己情况选择,是否手动发布版本。

9 打包IPA

APICloud平台直接云编译生成ipa包,下载下来用Transporter工具上传到AppStoreConnect。

App审核相关

苹果的三种审核机制

外媒 CNBC 在一篇关于苹果 App Store 如何审核App 的报道中分享了一些关于应用审核的细节。

报道称,目前 App Review 总部有 300 多名评审员,苹果的每个评审员每天大概需要审核 50 -- 100 个应用程序,Watchtower 会跟踪每一个 App 的审核情况,以便回复开发者或通过开发者修改后重新提交审核时进行比对,同时也为苹果收集 App 质量相关数据。

对于评审员来讲,苹果为其制定了 SLA 的考核制度(服务级别协议),要求评审员在 24 小时内需要达到 50% 的应用完成审核,48 小时内需要达到 90% 的应用完成审核。苹果称,会有 40% 的 App 被拒审或更新被驳回,核查出相关问题,并反馈给开发者。在同时多维度考核数据时,SLA 会达到正常标准,低于正常值时,评审员会收到邮件通知进行警告。新闻报道地址:https://www.cnbc.com/2019/06/21/how-apples-app-review-process-for-the-app-store-works.html

苹果审核标准共分为五大类:安全、性能、业务、设计及法律,我们要严格按照审核标准来开发和提交我们的APP。当然,在提审之前还有一些准备工作需要确保完成好:

  • 要确保APP没有明显的崩溃和错误。
  • 确保APP的可用性和完整性,不能是演示APP或demo。
  • APP所有预览图、简介、关键词等都要是和产品业务相关的。
  • 更新您的联系信息,以便 App Review 部门在需要时与您取得联系
  • 提供有效的演示帐户和登录信息,以及审核所需要的资源。
  • APP启用后台服务,确保其在审核期间处于活动和可用状态
  • 相关权限要说明其⽤用途,如果是壳上架或混淆代码,就更需要注意

官方审查指南:https://developer.apple.com/app-store/review/guidelines/

下面是七麦数据统计的近30天的被拒条款统计,仅供参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/602218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目管理与任务管理:关键的差异和共同点

在商业世界中,了解项目和任务之间的区别对于有效的工作流程管理至关重要。项目和任务经常被混淆,但它们需要不同的技术和方法来有效管理。本文将比较和对比项目和任务,强调它们的主要区别和各自带来的独特挑战。 项目与任务管理的主要区别在…

三分钟了解Spring Boot 的启动流程

👏作者简介:大家好,我是冰点,从业11年,目前在物流独角兽企业从事技术方面工作,🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人📝联系…

MySQL - 分库分表、MyCat配置、分片规则

文章目录 分库分表一、概述1.1 分库分表原因1.2 拆分策略1.2.1 垂直拆分1.2.2 水平拆分 1.3 实现技术 二、安装Mycat2.1 介绍2.2 安装 三、MyCat入门3.1 环境准备3.2 分片配置3.2.1 schema.xml3.2.2 server.xml 3.3 启动测试 四、MyCat配置4.1 schema.xml 配置文件4.1.1 schema…

你知道探针台的功能有哪些吗

探针台的主要用途是为半导体芯片的电参数测试提供一个测试平台,探针台可吸附多种规格芯片,并提供多个可调测试针以及探针座,配合测量仪器可完成集成电路的电压、电流、电阻以及电容电压特性曲线等参数检测。适用于对芯片进行科研分析&#xf…

你还在用 top?这有几个更牛逼的选择

简介 作为一个运维人员,很多时候需要知道服务器的实时情况,比如 Windows 系统的任务管理器,下面我描述的是基于 Linux 系统,你可能听说最流行的就是‘top’【基于终端的系统监视工具】。 top:实时程序可帮助显示所有正…

< axios封装篇 :一文看懂Axios + ElementUi 配置全局遮罩loading >

axios封装篇 :一文看懂axios配置全局遮罩loading 👉 实现原理👉 Axios封装> loading配置文件> axios封装文件 往期内容 💨 今天这篇文章,主要是用于补充上次的 axios封装相关文章,用于补充全局配置接…

拿捏 二叉树前序遍历、中序遍历、后序遍历非递归实现!

二叉树前序遍历非递归实现 在不使用递归的方式遍历二叉树时,我们可以使用一个栈模拟递归的机制。二叉树的前序遍历顺序是:根 → 左子树 → 右子树,我们可以先将二叉树的左路结点入栈,在入栈的同时便对其进行访问,此时就…

安装Docker使用Docker安装部署MySQL和Redis

Docker安装 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum remove -y yum-utils sudo yum install -y yum-utils sudo yum-config-manager --add-re…

【企业化架构部署】Nginx优化与防盗链

文章目录 引言一、Nginx 服务优化1. 隐藏版本号1.1 网页查看 Nginx 版本1.2 命令查看 Nginx 版本1.3 修改配置文件方式1.4 修改源码文件,重新编译安装 2. 修改 Nginx 用户与组2.1 编译安装时指定2.2 修改配置文件方式 3. 配置网页缓存时间4. 日志分割5. 设置连接超时…

(3)NUC980 kenerl编译

解压 用到的配置文件位置: /NUC980-linux-4.4.y-master/arch/arm/configs/nuc980_defconfig 执行: 编译linux内核源码。了解其 配置文件在 arch/arm/configs/nuc980_defconfig (1) make nuc980_defconfig 载入配置文件 (2) make menuconfig --->Devi…

ImageNet Classification with Deep ConvolutionalNeural Networks

AlexNet网络实现:https://blog.csdn.net/weixin_43912621/article/details/127757396 ImageNet Classification with Deep ConvolutionalNeural Networks Abstract We trained a large, deep convolutional neural network to classify the 1.2 million high-res…

面试官问,Vue.js和React.js之间有什么区别

Vue.js和React.js的区别 Vue.js和React.js都是流行的前端框架,它们都采用了组件化的开发方式,可以将大型应用程序分解为多个小组件,从而更加方便地管理和维护应用程序。尽管Vue.js和React.js在许多方面都有相似之处,但它们之间仍…

flutter android 多渠道打包 --dart-define

多渠道打包需求很普遍,甚至开发环境下 也需要不同环境测试,提供不同名称或者 不同包名的APK(方便测试 防止覆盖) 纯 Android 多渠道思路: 配置 .gradle 中的 buildTypes, 但是这个思路在 Flutter 中有坑&am…

【我是小狼君】【Unity学习路径】【一篇就够】

1.前言 这个文章小狼君做一个Unity3D的学习总结,是我当下已经掌握或者未来要学习的技术栈或者技术路线,也刚好帮助后来的小伙伴们有一个方向,文章持续更新,以后的文章也都会在这里有记录。 2.Unity 相关网站 Unity中国官网&…

Java --- springboot3之web的自动配置

目录 一、自动配置 二、默认效果 一、自动配置 1、导入web的pom依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> 2、引入了 autoconfigure功能 3、Enable…

【Java入门】长达近万字来讲解逻辑控制

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于Java入门篇系列&#xff0c;该专栏主要讲解&#xff1a;什么是java、java的数据类型与变…

CMake String函数:如何巧妙地在cmake中操作字符串

CMake String&#xff1a;从基础操作到高级应用的全面探索 1. CMake String的基本操作&#xff08;Basic Operations of CMake String&#xff09;1.1 字符串创建与赋值&#xff08;Creating and Assigning Strings&#xff09;1.2 字符串连接&#xff08;String Concatenation…

海汽集团:业财共享服务中心建设推进集团数字治理

随着大数据时代的到来&#xff0c;数字化、信息化的财务管理方式应运而生。建立财务共享服务中心&#xff0c;走向业财一体化&#xff0c;已成为企业财务管理转型的必然趋势。 海汽集团作为全国唯一一家具有全省性客运网络的道路运输企业、海南道路运输业头部企业&#xff0c;…

【定时任务】Java 中 8 种定时任务

一、单机定时任务 1、Timer java.util.Timer 类是 JDK1.3 专门提供的定时器工具&#xff0c;用来在执行指定任务&#xff0c;需要跟 TimerTask 一起配合使用 public class Timer {private final TaskQueue queue new TaskQueue();private final TimerThread thread new Tim…

BERT面试总结

BERT相关面试题&#xff08;不定期更新&#xff09; - 知乎 (zhihu.com) Bert输入 3个输入&#xff1a; 1. token embedding token embedding 层是要将各个词转换成固定维度的向量。在BERT中&#xff0c;每个词会被转换成768维的向量表示 两个特殊的token会被插入到tokeniz…