一、前言:

  • 作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事。但是很多人还是不知道该怎么上传到App Store上
  • 下面就来详细讲解一下具体流程步骤。

二、准备:

  • 一个已付费的开发者账号(可分为):

    • 账号类型分为个人(Individual)
    • 公司(Company)
    • 企业(Enterprise)
    • 高校(University)四种类型
  • 每年资费分别为$99、$99、$299、免费。
  • 一个已经开发完成的项目。

三、检查:

  • 安装的Xcode必须为正式版,beta版本的Xcode不能上传项目到App Store。
  • 上传使用的 Mac 的 OS X系统必须也是正式版的,beta版本也不行。
  • 请确认你安装的Xcode是从App Store或者是开发者网站下载的
  • 因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?

    1.jpg

四、生成发布证书

1.打开开发者中心网址:https://developer.apple.com
2.点击:Account

1.2  输入Apple ID和密码(没有则需注册)

1.3  加入苹果开发者计划(如已加入,可跳过这一步)

join the Apple  Developer  Program

Enroll

Start  Your Enrollment

根据需要选择账号类型(个体、公司、政府组织)。

选择账号类型

填写开发者信息

确认信息

购买信息

填写付款信息进行购买

2、准备证书

首先介绍以下相关概念:

Certificate:证书是用来给应用程序签名的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的,未经修改的。在Xcode Build Setting的Code Signing Identity中,你可以设置用于为代码签名的证书。证书主要分为两类:Development和Production,Development证书用来开发和调试应用程序,Production主要用来分发应用程序。

APP ID: 用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。

Devices:   包含了该账户中所有可用于开发和测试的设备。

Provisioning Profile:配置文件,包含了上述的所有内容:证书、APP ID、设备。、

进入苹果开发者中心,点击下图所示位置进入证书、标识符和配置文件管理页面。

进入证书、标识符和配置文件管理页面

5.点击Certificates生成证书

  • 选择iOS, tvOS, watchOS
  • 选择All
  • 点击右上角新添加证书

5.png

6.选择生产证书(选择App Store and Ad Hoc)

6.png
  1.  
    注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。
  2.  
    解决方法:
  3.  
     
  4.  
    从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)
  5.  
    如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!
  6.  
    注意:如果你想删除证书,执行下面步骤,否则略过。

7.png

8.png

9.png

10.png

11.png

7.上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)

  • 在Launchpad的其他里面,点击钥匙串访问弹出如下界面

12.png

13.png
  • 工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...

15.png
  • 将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)

16.png

17.png

18.png
  • 然后回到浏览器,点击choose File..

19.png
  • 选择创建好的:CertificateSigningRequest.certSigningRequest 文件,点击选取

20.png
  • 点击Generate上传证书

21.png
  • 跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。

22.png

23.png
  1.  
    注意:
  2.  
    这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
  3.  
    如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)

附加项:生成p12文件在其他电脑上使用这个发布证书

  • 双击安装证书后,打开钥匙串访问,选择安装的证书右键单击

24.png
注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。
  • 导出证书

    25.png
  • 存储证书

    26.png
注意:存储的文件格式一定要是.p12
  • 设置密码
    可为证书设置密码,也可不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。

27.png
如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。

28.png

五、创建App IDs和绑定你的App的Bundle Identifier

https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

29.png

30.png
  1.  
    注意:
  2.  
    上传App使用的Bundle Identifier,不能使用占位符。
  3.  
    如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。

31.png
  • 选择App中包含的服务,默认有两项

32.png

33.png

34.png

35.png

六、生成描述文件

  • 找到Provisioning Profiles ,点击All,然后点击右上角 + 号

36.png
  • 选择下面App Store这个描述文件,点击Continue

37.png

38.png

39.png

40.png

41.png

42.png

七、在App Store开辟空间

4、提交到App Store

进入iTunes Connet

我的App

新建App  填写基本信息

设置App 信息

设置价格与销售范围

填写App相关信息

在Xcode中,点击左侧目录中的项目名称,选择TARGETS -> Build Settings -> Signing ,将下图所示的文件切换成对应的发布证书和Distribution provisioning profile,同理将 PROJECT -> Build Settings -> Signing中的对应证书和provisioning profile 也进行切换。

在TARGETS -> General中可以编辑App的基本信息,包括App名称、Bundle ID 、版本号、适配系统的最低版本号以及设备类型等等。

编辑App信息和部署的设备信息

选择Generic iOS Device

选择 Produce -> Archive。

打包应用程序

上传到AppStore

Upload to App Store

此时会提示选择开发者账号,如之前没有登录,则点击“Add”按钮添加账号,如果已登录则直接选择相应账号。

点击按钮,添加账号

选择对应开发者账号

点击“upload”上传应用。

上传App

大约过十分钟左右,刷新 iTunes Connect ,可以看到“构建版本”右侧多出了一个添加按钮,点击后可以看到刚刚上传的App,选择并点击“完成”。

点击添加按钮

选择构建版本

最后,点击页面右上角的“提交以供审核”就大功告成了,坐等审核通过吧!

这里出现的信息根据app的类型不同、有不同的选项、根据自己的app的情况选择

一般选择否。

然后提交、显示为正在等待审核、耐心的等苹果公司那边审核了,初次提交1到2天出结果。

 

提交审核回到我的APP查看会提示正在等待审核,审核有时很快一两天,或要几天时间,常登陆看看审核情况,或看邮件提示。

如果变成可供销售,恭喜你~上架成功了,如果显示被拒绝,点击查看问题,根据反馈修改再重新打包上传提交审核。

如果被拒,看下面教程重新提交审核

iOS APP打包上传到APPstore的最新步骤的更多相关文章

  1. Windows环境下IOS APP打包上传AppStore详细流程

    我们知道在上架苹果应用过程中,申请发布证书需要用到钥匙串,上传ipa需要用到xcode或Application loader提交构建版本,这都需要Mac苹果机. 本文介绍如何在Windows环境下申请 ...

  2. ios app 打包上传 app store(Application Loader)

    背景:使用Xcode 上传APP, 这个 有时候很慢,构建版本需要等很长时间,所以我推荐使用Application Loader 1.使用xocd 打包,导出.ipa文件 2. OK ,跟着上面做, ...

  3. iOS自动化打包上传的踩坑记

    http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...

  4. iOS: xcode打包上传iTunes失败,iTunes Store operation failed,this action can not complete .try again

    通过xcode点击“upload to app store”上传到itunes,结果一直提示“itunes store operation failed” 原因:网速的问题,我之前也遇到过,网速好的时 ...

  5. XCode7,打包上传的一些警告,及参考处理方法

    1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...

  6. iOS 打包上传AppStore相关(3)-iTunes相应配置以及使用蒲公英网站进行应用托管分发(链接/二维码)

    上一篇讲到我们最终生成了一个格式为 .xcarchive 的文件(可以右键并Show in Finder)查看.本篇我们就进行最后的设置,打包上传.另外,还有一个小福利,那就是打测试包分发链接测试. ...

  7. iOS 打包上传AppStore相关(2)-Xcode相应配置

    上一篇描述了如何在AppleDeveloper创建Certificates.App IDs和Provisioning Profiles的过程.本篇将详细描述在Xcode部分我们需要做的配置. 1.配置 ...

  8. iOS 打包上传AppStore相关(1)-相关证书配置

    最近一个老项目需要更新迭代,一个新的项目需要上线.有一些自己出现的BUG,也有一些没搞懂到处翻资料的问题.在此想做一个总结,写一下总体步骤,尽可能的详细一些,以及自己的一些理解.有很多步骤因为我们查阅 ...

  9. IOS APP 上传到AppStore

    由于第一次接触要把 app 上传到 AppStore 比较棘手,很多地方不懂,研究了 大半天 终于给上传成功了,现在坐等审核吧,首先把上传到AppStore的流程 整理下 : 第一 :准备证书 (要确 ...

随机推荐

  1. MariaDB存在的问题

    MySQL与MariaDB对嵌套的查询语句当中的order by的处理方法不同.MySQL会忠实执行内层查询的排序子句,但是MariaDB会将这个order by去掉,理论依据就是关系理论 --- 一 ...

  2. 判定元素是否刚插入到DOM树

    上接<这篇博文>,其应用于avalon的if绑定.如果一个节点还没有插入DOM树,那么avalon将延时对它进行扫描渲染,直到它再次插入到DOM树为止.由于CSS3 keyframe动画的 ...

  3. docker下 zookeeper集群

    首先创建所需的文件夹 mkdir -p /data/{data1,data2,data3} mkdir -p /data/{datalog1,datalog2,datalog3} docker-com ...

  4. POJ1039几何

    这道题目要求我们判断光线进入一条管道后可以抵达的最大的x坐标. 这是我做的第一道几何题目,卡了我半天.翻了不少书,才大概明白了些.既然是第一次做,就把所有今天学到的就全部写下好了. 1.如何判断平面上 ...

  5. 一个jquery在不同浏览器下的兼容性问题。

    <div id ='pdiv' style='visibility:hidden;'> <div id='cdiv'>子元素</div> </div> ...

  6. vector的简单用法

    vector是C++中容器的一种,与普通的数组相比,它可以动态的增长,而且还有封装了用于顺序表的操作的方法. 使用vector定义了容器之后,如果定义了容器的大小,则可以在大小范围之内直接使用数组的方 ...

  7. 关于mysql自增字段问题

    最近遇到mysql字段的自增问题,需要临时处理一下,然后就顺便补补课,这样就有了这样一篇文章. 1.自增值是什么 他是一个字段属性,是用来创建唯一标识的列的 The AUTO_INCREMENT at ...

  8. pandas map, apply, applymap区别

    map只对一个序列而言的. apply只是整个dataframe上任意一列或多列,或者一行或多行, 即可在任意轴操作. 在一列使用apply时,跟map效果一样. 多列时只能用apply. apply ...

  9. SQL语句性能分析常用命令

    DBCC freeproccache DBCC dropcleanbuffers 1.set statistics IO {ON| OFF} /*Transact-SQL 语句生成的磁盘活动量的信息* ...

  10. Linux下chmod 777 修改权限

    在linux操作系统下,使用shell命令来操作: 关于权限的问题用chmod命令来修改权限 -rw-r-r-- 1 root root 可参考:http://zhidao.baidu.com/lin ...