App Store上架iOS App的详细流程
最近负责将公司某个项目的iOS应用上架到App Store,在上架的过程中,需要做的事情很多,但很多都不涉及到太多的技术问题,但是流程很多,而且对应用有很多要求,在上架的过程中也遇到一些问题,后也顺利解决问题,成功上架了。我觉得有必要记录一下过程及遇到的问题,希望对有需要上架的iOS开发者们有所帮助。
一、注册账号
1.1 选择类型
登录苹果开发者官网Apple Developer, 点击顶部的Support,点击membership,点击enrollment,最后点击Enrollment的Learn more about these programs链接进入Apple Developer Program - Apple Developer, 打开这个界面后,点击右上角的Enroll按钮,滚动到最底部,点击Start Your Enrollment开始申请:
App-Store01.png
这时需要你登录Apple ID,如果没有登录Apple ID,需要先注册(Create Your Apple ID), 登录后会显示你的Apple ID的基本信息,在下方会要你选择账户类型,选择第二个,公司/企业账户:
App-Store02.png
1.2 申请邓白氏码
不要点击continue,点击Check now,检查公司是否已经有邓白氏码,如果没有,填写申请信息进行申请:
App-Store03.png
大概3~5个工作日后,邓白氏会发一封邮件到你邮箱中。然后将公司的详细资料准备好,当他们发邮件要资料时,需要快速的给到他们。申请通过后,我们会收到邓白氏码,但是要半个月后才能使用,因为苹果需要同步数据。
1.3 继续填写公司信息
等待一段时间后,重新进入enroll界面,选完类型后,直接点击继续,接着要填写公司的信息,要真实,跟营业执照上的一致。
然后继续核对一下信息,最下方如果出现当时申请邓白氏码的时候填写的地址的话,说明信息已经同步了,然后继续。 说明提交成功了,等待苹果的审核。
1.4 支付费用
很快苹果就给你留的电话,问一下基本的问题,然后就给你发了一份邮件。 点击里面的地址跳转登录之后,勾选协议,就跳转到支付界面。 提前准备一张支持visa或者万事达的信用卡,支付的时候要用到.填写信用卡信息,发票信息之类的。
二、申请开发者证书
两种主要的证书说明:
这是我们在开发者中心申请成功后下载到本地的发布证书(.cer文件),对应的还有ios_development.cer开发证书,双击后会安装到钥匙串中生成一个证书(含有公钥和私钥)。它的作用是让开发者使用的设备(也就是Mac)具有真机调试、发布应用或应用签名的权限。我们在团队开发中,一般需将这个证书导出p12格式共享给其他有需要的成员(如新员工)。
这是我们配置好证书后生成,下载到本地后的.mobileprovision文件,也就是我们常说的描述文件(PP文件),双击后可安装到Xcode中,或在Xcode中登录Apple ID后,下载到Xcode对应目录。它的作用是让开发者的项目(App),具有真机调试,发布的权限。
2.1 申请钥匙串文件
在Mac的其他工具中找到钥匙串,在左上角点击的钥匙串访问->证书助理->从证书颁发机构请求证书…:
填写邮箱地址:
App-Store11.png
选择保存的目录:
在桌面上就生成了一个CSR文件:
2.2 在开发者中心申请证书
2.2.1 选择Certificates申请新证书:
2.2.2 选择需要的证书类型,开发使用选择开发证书,发布应用使用的选择发布证书:
这时我们要用到刚从钥匙串中制作的.certSigningRequest(CSR)文件:
这个CSR其实就是公钥,私钥保存到了钥匙串中。 点击继续后,完成了证书的制作:
点击Download将生成的证书下载到本地(此时生成了.cer文件),双击运行,没有反应,但是在钥匙串->证书中查看已经安装了该证书。
2.2.3 注册App ID
点击Register完成注册。
2.2.4 制作APNs推送证书
申请好App ID后,我们可以开始制作远程推送用的证书,推送证书也分为两种,一种是测试用的推送开发证书,一种是上线用的推送发布证书。
2.2.4.1 点击申请好的App ID,点击Edit:
如果没有配置推送证书的话,在Push Notifications项是显示Configurable。
2.2.4.2 拉到下面,可以看到分为开发用证书和发布证书,选择对应的类型即可,这里选择发布证书,点击create certificate:
2.2.4.3 要求上传CSR文件,即在第一步钥匙串中生成的CSR证书。
2.2.4.4 下一步,制作完成,可以看到APNs证书,点击下载到桌面。
下载后双击安装进钥匙串中。此时开发者中心对应的App ID的推送变成了Enabled,说明推送服务可用了。
2.2.4.5 推送的P12证书的制作
双击刚下载下来的aps.cer文件,这时会在钥匙串中安装了APNs的证书,右键将它导出为p12的格式,设置密码,发给服务端人员推送使用,当服务端人员使用这个p12证书时需要密码。
选择p12格式,输入密码,服务端要用时,同时将p12证书及密码发给他们。同理,开发调试用的开发证书也同样处理。
2.2.5 添加注册设备
一般当使用Ad Hoc的发布方式才需要该操作步骤。
2.2.5.1 在Devices出,添加要注册的设备:
2.2.5.2 填写设备信息:
如何获取设备的UDID: 1)将设备连接Mac,使用iTunes查看:
2)在Xcode的window—>Devices中查看:
3)使用蒲公英的方式获取: 蒲公英 - 文档中心 - iOS 设备的 UDID
2.2.6 创建描述文件
在Provision Profiles中配置描述文件:
选择配置的类型:
PS:更新,上图的Ad Hoc表述错误。Ad Hoc的发布方式主要是用于在指定的设备上测试使用(类似灰度测试),这种发布的方式需要注册设备UDID,只有在对应的设备ID的设备才能够进行安装测试,最多可添加100台设备。 接下来选择App ID:
继续选择证书:
如果配置开发证书,则这里只有开发证书可以选择,配置发布证书,则只有发布证书可以供你选择,所以也不用担心会选错。 如果配置开发证书,还需要配置这个项目哪些设备可以作为真机测试:
点击继续完成创建:
可点击下载,将.mobileprovision文件下载到本地,双击安装进Xcode对应的目录。 可以看到,.mobileprovision文件包含了证书、App ID和设备。
三、在iTunes Connect创建App
3.1 新建一个iOS App
点击新建App:
3.2 填写基本信息
需要上传5张图片,可以只上传5.5寸的介绍图片,如果应用也支持iPad的,同时需要上传一张12.9英寸的iPad截图。
填写关键词、描述文字等:
填写App综合信息:
需要注意的是,如果App中有需要登录注册功能的,记得提供一个测试账号。
四、配置Xcode,打包
4.1 设置Scheme
将Archive的Build Configuration设置为Release:
Run中Build Configuration也设置为Release:
不要勾选启动僵尸对象:
App-Store52.png
4.2 设置代码签名
App-Store54.png
注意要同时将TARGETS及PROJECT的代码签名都设置成Distribution。
4.3 设置应用名称及版本号
App-Store55.png
4.4 开启消息推送
开启Push Notification:
App-Store56.png
Entitlements文件中配置APS Environment:
App-Store57.png
钥匙串中要安装有APNs推送证书。
4.5 选择发布证书
由于自动签名管理成开发证书,这里手动进行管理,选择对应的发布描述文件。
App-Store58.png
4.6 勾选全屏显示(iPad)
勾选 Requires full screen:
不勾选的话,上传时需要你实现iPad的多任务分屏。
4.7 添加各种对应尺寸的图标
4.8 打包并导出
选择对应的Target,选择真机模式,不然Archive会变灰,不能点击:
然后会提示访问钥匙串中的密钥:
成功后,弹出如下界面:
选择Export导出ipa,选择第一个,发布到App Store:
点击Next,会要选择发布证书:
检测通过之后,选择导出,会生成一个有日期的文件夹,里面包含了要发布的ipa包,ipa包的制作完成。
五、使用Application Loader上传App
打开Xcode的Application Loader:
输入开发者账号和密码后,选择导入刚才导出的ipa包,需要一定的时间(约10~20分钟)来鉴定App。最后会出现如下的信息:
提示成功,说明我们已经将包顺利的上传到了App Store。
六、在iTunes Connect选择构建版本,最后提交审核
然后可以先点击存储,确保所有修改的地方都有保存。最后确定所有信息都填写无误后,提交以供审核。这是我们已经完成了上架的工作,接下来就是等待苹果的审核,一般3~7个工作日会收到苹果的审核结果,如果在iTunes Connect上显示可供销售,说明已通过审核,如果显示被拒绝,则需要根据苹果的拒绝理由进行修改再重新提交。
七、发布过程中遇到的一些问题及解决
7.1 上传时遇到的错误
在使用Application Loader上传App时遇到了一下问题,如下:
经分析:如果主要是缺少一些支持iPad的图标、没有实现iPad Multitasking(iPad的多任务分屏)及不允许包含libReveal.dylib动态库。 解决的方式:
1.1 补充缺少的iPad应用图标;
1.2 考虑实现iPad Multitasking需要一定的工作量,在项目中配置勾选Requires full screen即可;
1.3 移除libReveal.dylib库。
7.2 在提交审核时报的错误
分类中明明选了生活,但是被强制变成了杂志类应用,且一定要提供隐私政策网址(20181003后强制要提供,否则拒绝上架)。 解决方式:打包将info.plist文件中的Newsstand Icon的键删除,否则会被自动判定为该应用是报刊杂志类的应用,即使选择了分类也无效:
App Store上架iOS App的详细流程相关推荐
- 完整iOS APP发布App Store上架流程
如果你是新手,将在这里清晰发布到App Store整个上架流程,还有相应的流程解决方案. 如果你上架过iOS APP,这里会了解到有更快捷的上架过程. 上架iOS最基本需要一个付费的开发者账号,还没有 ...
- iOS APP打包和发布App Store上架流程指南
用hbuilderx打包ios app应用,需要先打包,然后在进行app store上架,用户才能下载使用. 下面我们来讲述打包和上架的全部流程. 首先,打包时需要一个打包证书的,这个证书是p12后缀 ...
- [苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白
如何在 2022 年将您的应用提交到 App Store 您正在启动您的第一个应用程序,或者距离上次已经有一段时间了.作者纸飞机@cheng716051来给你讲讲将应用程序提交到 App Store ...
- iOS开发指南:从零基础到App Store上架(第2版 )
第一部分 基础篇 第1章 开篇综述 2 1.1 iOS概述 2 1.1.1 iOS介绍 2 1.1.2 iOS 6新特性 2 1.2 开发环境及开发工具 3 1.3 本书中的约定 4 1.3.1 案例 ...
- App Store上架流程/苹果app发布流程
App Store上架流程/苹果app发布流程: 第一步:拥有自己的苹果开发者账号: 开发账号分为两类:99美元(发布App Store用的,也就是上架苹果商店用这个):299美元(企业授信证书,不用 ...
- App开发到App Store上架,发布流程。
网上已经有很多关于这方面的资料.我重点总结了三篇.大家可以参照着看. 1.IOS开发从新手到App Store上架. http://www.cocoachina.com/special/forn ...
- iOS 应用提交 App Store 上架被拒的原因收集
2019独角兽企业重金招聘Python工程师标准>>> App Store审核指南中文版(2014.10.11更新) 前言 感 谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业 ...
- iOS开发指南 从Hello World到App Store上架 第5版
iOS开发指南 从Hello World到App Store上架 第5版 关东升 著 ISBN:9787115450630 包装:平装 开本:16开 正文语种:中文 出版社: 人民邮电出版社 出版时间 ...
- MacBook上如何运行那些尚未在Mac App Store 上架的 iOS/iPadOS 应用程序分享
援引外媒 MacRumors 报道,论坛读者 Amy 反馈称在搭载 M1 芯片的 Mac 设备上可以运行任意 iOS 应用程序.随后外媒 The Verge 进行了实测,通过.ipa 文件的方式在 M ...
最新文章
- springboot接收文件上传_SpringBoot第十七篇:上传文件
- python写一个聊天程序_python实现一个简单的网络聊天程序
- 修改计算机用户权限,如何修改一个电脑账户为最低权限
- volatile学习(可见性,不保证原子性,禁止指令重排(双端检索机制))
- VC2010运行C程序时黑框一闪就没
- 浅谈opencl之错误码
- 【clickhouse】docker安装clickhouse后本地无法连接
- OpenCV移植到ARM-Linux(Exynos4412)全过程
- Aix5.3安装Bash Shell环境
- 手机忽然就安装不了东西,就是下载好apk打开后按不了安装。怎么处理?
- java内存溢出前端_【面试笔录】内存溢出和内存泄漏
- mysql无法授权问题
- php通用查询系统excel,php+excel通用课表查询系统
- 【MM32F5270开发板试用】硬件IIC读取SHT20温湿度传感器
- null underfined NaN 判断
- 用户注册+登录(下)
- 解决Win7缺失MSVCR120.DLL问题
- ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operat
- Node微服务之Seneca的使用
- 关闭新版Chrome中的深色主题
热门文章
- SparkCore快速入门系列(5)
- OpenCV图像特征匹配
- Docker图形化界面工具Portainer最佳实践
- SVNBucket 在线免费SVN代码托管服务器
- python 异常处理 应急预案
- Cyberpunk2077—赛博朋克2077 中代码矩阵解密小游戏之最优解寻找
- 哈尔滨工业大学信号与系统期末复习(一)
- sum怎么用python_python的sum函数怎么用 ?
- cetus权限连接主从mysql_cetus/cetus-rw.md at master · foxxnuaa/cetus · GitHub
- 声明式编程比命令式编程更好吗? NO! 你可能陷入了声明式编程的迷幻中!