前言

  • 基于本人对苹果的开发流程的渴望。所以很多东西一旦自己经历了,或者是别人经常会用到的时候,我就喜欢研究。并将自己以及别人的心得记录下来,方便自己及他人学习。
  • 本篇,我将按照自己的思路对iOS应用上架整体流程进行讲解,本文也是iOS证书申请、开发、打包、排查等系列教学中的一部分,欢迎各位朋友扩展学习。

博文回顾

在前面我完善了我的iOS开发者证书的那些事文章,开篇就讲到了关于发布时的必备条件,在这里我就不再累赘。直接进入本文主题。

上架前准备工作

我们需要事先完成这几个步骤,确保接下来的工作能够顺利进行。Boss才会对我们的工作表示认可

1、注册App ID(应用ID)

App ID是识别不同应用程序的唯一标示符。每个App都需要一个App ID或者App标识。目前有两种类型的App标识:一个是精确的App ID(explicit App ID),一个是通配符App ID(wildcard App ID)。 使用通配符的App ID可以用来构建和安装多个程序。尽管通配符App ID非常方便,但是一个精确的App ID也是需要的,尤其是当App使用iCloud或者使用其他iOS功能的时候,比如Game CenterPush Notifications或者IAP。关于如何创建App ID,苹果官方有相关的文档说明注册App IDs

2、创建Distribution Certificate(发布证书)

发布证书,也是根证书。它是所有应用发布的基础,当你创建过一次根证书之后,就不需再创建。创建的过程我以前的文章有提及过开发证书的创建,发布证书的创建过程类似。iOS开发者证书的那些事

3、创建商店Provisioning Profile(商店描述文件)

和开发期间使用的开发描述文件类似,我们 App 上架到 AppStore 的时候也需要创建一个对应的描述文件,不过有一点不同的是,该类型的描述文件不需要选择任何设备就能创建。创建过程也非常简单,可参考开发描述文件的创建过程。

4、Build Settings(生成设置)

我们需要在工程中进行相应的配置,才能提交到 AppStore。对Code Signing中的Code Signing IdentityProvisioning Profile两项进行配置。

5、Deployment Target(部署目标)

非常有必要说下deployment target,Xcode中每个target都有一个deployment target,它指出app可以运行的最低操作系统。不过,一旦应用在App Store中生效,再去修改deployment target,你要考虑到一定后果。如果你在更新app的时候提高了deployment target,但是已经购买应用的用户并没有遇到新的deployment target,那么应用就不能在用户的移动设备上运行。如果用户通过iTunes(不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。

对此有两个方法:

  1. 当你决定提高现有app的deployment target时,要在新版本的版本注释中进行说明。如果你提前告知用户,那么至少有一点,你已经尽力阻止问题的发生了。
  2. 对于一款新app,我经常会把deployment target设置为最近发布的系统版本。因为新iOS版本发布后,渗透率的增长速度是令人难以置信的。很多人认为提高deployment target会失去大部分市场,这个说法并不准确,比如iOS 6,iOS 6发布后一个月,超过60%的设备已经进行了更新。但对Android而言,就是另外一回事了,Android用户并不会像iOS用户那样热衷于更新操作系统版本。

iTunes Connect

  1. 在提交App之前,我们需要进入到iTunes Connect里面创建我们的App记录。

  1. 然后点击界面左上角的+号,选择新建App

  1. 填写应用相关信息-Metadata(元数据)


其中SKU Number是一个唯一标识你的app的特殊字符串。应用发布之后就不能修改,可以使用app的Bundle ID

之后的操作就不用介绍了,因为都是一些基本的信息设置。你只需要按提示一步一步完成设置即可。添加成功之后,应用的状态会显示Prepare for Upload(准备提交)。

接下来,在构建版本栏目下,我们看到苹果提示我们使用Xcode或者Application Loader提交我们的构建版本。此时我们就可以进行上传二进制文件了。上传之后在该栏目下就会有我们上传的二进制文件供选择,选择对应的文件之后就可以点击右上角的提交以供审核按钮,此时应用的状态会变成Waiting For Review(等待审核)

上传二进制文件

苹果提供两种方式进行提交,一种是直接通过Xcode打包提交,另一种是通过Xcode自带工具Application Loader进行提交。我比较喜欢第二种,因为可以看到上传进度。更加人性化。关于上传方式,我这边不做展开,提供给大家一个学习资料。有任何疑问欢迎留言提出

方式一:使用 Xcode 上传

我在iOS开发企业版ipa分发(In-House模式)记录一文中有讲到使用Xcode打包步骤,不过里面的少许步骤不一样而已。这里就不做详细说明。如果有什么不懂可以参阅上传你的App。

方式二:使用 Application Loader 上传

有关详细信息,请参阅Using Application Loader。

知识扩展

1、我们在进行版本更新的时候,App图标、名字、描述、新版本描述、关键词、支持URL、截图、联系方式、Review Notes(审核备注)均可以更改

2、Review Notes(审核备注)中,包括如下信息:

  • 名字、姓氏、电子邮件地址、电话号码(都是必需)

在 app 审核团队有任何疑问或需要了解其他信息时应联系的您组织中人员的联系人信息。

  • 审核注释(可选)

有助于审核团队实施审核过程的 app 其他信息。添加测试 app 可能需要的信息,如 app 专用设置、测试注册或帐户详细信息。“Review Notes”(审核备注)字段的大小上限为 4000 字节,并可本地化为任何语言版本。如果您的 app 通过蜂窝数据网络传输流媒体视频,则在“Review Notes”(审核备注)中输入测试视频流 URL。此文本仅对 Apple 审核团队可见。

  • 用户名(可选)

拥有完整访问权限的演示帐户的用户名。此帐户在 app 审核过程中使用,不能是过期帐户。应在“Review Notes”(审核备注)字段中添加其他帐户的详细信息。

  • 密码(可选)

拥有完整访问权限的演示帐户的密码。


微博: @Danny_吕昌辉
博客: SuperDanny

iTunes Connect(一) —— iOS应用上架到AppStore相关推荐

  1. (0008) iOS 开发之iTunes Connect 显示可供销售,AppStore 不显示新版本

    iTunes Connect 显示可供销售,但是AppStore 就是不显示新版本(异于往常版本更新) 前言:开发者账号一年到期之后的第一次提交新版本. 这次版本更新,从上传到审核通过不足8小时,快点 ...

  2. 最全iOS 应用上架流程(提交到AppStore)

    iOS 应用上架流程(提交到AppStore) 1.账号准备 1.1  登录苹果开发者中心   https://developer.apple.com/ 1.2  输入Apple ID和密码(没有则需 ...

  3. Hbuilder用自有证书打包 ios App上架AppStore流程

    Hbuilder用自有证书打包 ios App上架AppStore流程https://www.cnblogs.com/douyage/p/9075854.html 最近在用Hbuilder做跨平台开发 ...

  4. iOS 应用上架流程(提交到AppStore)

    1.账号准备 1.1 登录苹果开发者中心 https://developer.apple.com/ 1.2 输入Apple ID和密码(没有则需注册) 1.3 加入苹果开发者计划(如已加入,可跳过这一 ...

  5. 傻瓜式IOS发布教程(一)iTunes Connect创建应用以及内购

    使用U3D进行手机游戏开发已经1年多了,由于工作原因,之后可能将长期不会接触U3D,将目标投向Cocos2d-x.目前涉及一些U3D方面的工作交接问题,突然发现如果自己一开始就有总结写博的习惯,现在会 ...

  6. IOS项目发布时如何填写Itunes Connect的app信息

    这是我在网上找到的一篇写的很不错的关于在填写Itunes connect上面的英文信息时的指导文章,值得推荐给大家! 我是如何提交我的app到itunesConnect? 具体步骤如下: 1) 用你的 ...

  7. Flash开发iOS应用全攻略(四)——如何为iTunes Connect准备应用

    在上周我介绍了如何在Flash里发布iOS应用,以及如何申请成为合法的iOS开发者.如何使用iOS开发者授权和申请证书.今天我会给大家介绍一下如果你打算将应用发布到 Apple应用程序商店,都应该做些 ...

  8. Flutter开发IOS,上架AppStore的全部流程以及常遇到的坑

    Flutter开发IOS,上架AppStore的全部流程以及常遇到的坑 本次开发采用的Flutter技术进行开发,没想到会这么快,昨天提交的,今天便已上架appstroe,所以这次来做一次总结,总结从 ...

  9. iOS 在XCode中upload 成功,但是在itunes connect 一直看不到

    经过不短时间的开发,终于走到提交AppStore发布版本这一步了!!因为是第一次,完全自己摸索,提交版本的过程中还真的有不少坑,这里做一个记录. 在XCode8中upload成功后,在itunes c ...

最新文章

  1. 10分钟搭建你的第一个图像识别模型 | 附完整代码
  2. Error in plot.new() : figure margins too large
  3. Day 31 并发编程
  4. java爬取网页内容 简单例子(2)——附jsoup的select用法详解
  5. linux——文件输入输出管理
  6. VTK:Utilities之DetermineActorType
  7. java文件定时读写_java定时任务及日志的使用
  8. 远程连接Ubuntu桌面配置
  9. 拓端tecdat|Python贝叶斯推断Metropolis-Hastings(M-H)MCMC采样算法的实现
  10. PMP考试难度以及通过率
  11. 微信jssdk开发 java_Java微信公众平台开发(十一)--微信JSSDK中Config配置
  12. 解决Android studio运行代码手机出现xxx keeps stopping
  13. java版林地府邸种子_最好玩的5大林地府邸种子,手机党玩家的福利!
  14. 图像的转化(包括灰度,HSV,HSI)
  15. Java-栈的基本操作
  16. CSDN是一帮穷鬼吗?从来没见过短信认证要客户编写一长串文字发给一个不知名号码的。
  17. ByteBuffer使用
  18. 植发搞笑图片_植发失败案例实录!历时几个月却迎来头发尽毁,后果太可怕了...
  19. 圣斗士星矢服务器维护时间,圣斗士星矢手游8月2日服务器内BUG说明公告
  20. ABP官方文档(十八)【领域服务】

热门文章

  1. 浙江非税设定服务器信息,非税操作手册.doc
  2. python爬取邮件内容_python 定时爬取内容并发送报告到指定邮箱
  3. 下载文件扩展名php,[宜配屋]听图阁
  4. display image without margin in matlab
  5. LabelSmoothing标签平滑
  6. 模型保存的方法-----仅保存权重
  7. 相似度计算之马氏距离
  8. linux wget安装mysql_linux安装mysql
  9. PyTorch深度学习快速实战入门《pytorch-handbook》
  10. 百度推广怎么样做才可以有效果呢?