一。生成公布证书(证书的作用:类似于驾照,证明你的身份能够进行开发人员一些操作)

打开https://developer.apple.com 点击右上角开发人员中心

这里输入你付款过的Apple 帐号和password

以下点击Certificates,Identifiers&Profiles 这个选项 (进去是专门生成证书,绑定Bundle Id。绑定device设备。生成描写叙述文件的地方)

这里我们选择Certificates。生成证书

然后我们在1相应的位置选择iOS App(由于我们要上传的是iOS项目)然后 点击右上角新加入证书

因为我们要做项目上传,选择生产证书(选择App store那个)

注意:一个开发人员账号仅仅能创建(1-2个开发(測试)证书)。2-3个生产(公布)证书),所以假设你App Store Ad Hoc这个位置前面button不能选择。则代表你的这个账号无法再创建新的生产证书了

1.请从别人那里要这个p12文件,尽量不要运行以下第2步

2.假设你想生成的话,把现有的删除一个(建议删除时间比較靠前的)注意:假设删除了一个证书,那么正在使用这个证书的人将不能再使用了,除非又一次生成,然后利用.p12又一次导入自己电脑里!

注意:假设你想要删除证书。运行这步骤,否则掠过

然后接着上上张图,生产证书那部继续

这个时候。我们须要上传CSR文件去获取证书,CSR文件须要我们到本机钥匙串里去创建

在其它里面,点击  钥匙串訪问 然后弹出例如以下界面

然后把CSR文件保存到计算机磁盘的某个位置,我这里选择了桌面。进行存储

然后回到网页上,选择CSR文件上传

找到刚才保存到桌面的CSR文件。然后点击打开

然后跳转到例如以下界面,点击DownLoad  下载生成的证书

注意:这个证书仅仅能下载一次。

点击下载后。

假设想给别的电脑用。请继续往下看(须要导出成.p12格式文件到别到电脑上执行)

假设不想给别的电脑用,则直接跳转到2,绑定Bundle ID

生成p12文件在别的电脑使用这个公布证书。请看这里

安装证书后,打开钥匙串訪问。然后

然后右键

注意(假设没有导出,能够把这个证书删除,然后又一次双击下载的证书文件)

然后(能够设置password,也能够不设置password,假设设置password了。别人双击打开你给的p12文件的话就须要输入password)这里直接不设置password。继续

然后我刚才是保存在桌面的,那么出来了这个。在桌面

假设想在别的机器上 也能公布你的代码,则必需要安装这个公布证书。

2. 绑定你的App的Bundle Identifier  (Bundle Identifier 是你的App的唯一标识,跟身份证一样)

回到刚才的网页上 (https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

以下起一个名字,不能使用@,&,*,’,”。

上传应用程序使用的Bundle ID必须是固定的,不能使用占位符

打开project找到你的Bundle Identifier (不要有-,都是英文+数字) (在Xcode7.0之后,直接在这个位置改动Bundle Identifier就能够。然后回车)

注意:假设你的Bundle Identifier已经在站点上绑定了,假设你改动了你project里这个Bundle Identifier的话,须要又一次去网页绑定

以下选择app中包括的服务,默认有两项,其余的依据自己的需求进行选择

然后点击底部Done

3. 生成描写叙述文件 (描写叙述文件的作用是把证书和Bundle Identifier关联起来)

由于我们是要公布。所以选择以下公布的描写叙述文件

然后选择我们要公布的项目的Bundle Identifier

然后选择公布证书,依据自己电脑上的公布证书日期来选择

然后给描写叙述文件起个名字。

然后下载描写叙述文件。双击安装(闪一下就完事了。没有其它效果)

4. 描写叙述文件下载后。

我们网页的旅程还没结束。

须要去这个站点 占坑(也就是注冊你的应用名字。 假设你已经在itunesConnect网址注冊好了你的应用,则忽略4)。

itunesconnect.apple.com

然后还是支付过钱的那个开发人员账号才干登陆。

登录成功后,我们点击   我的App

然后点击左上角那个+号,创建我们的应用

然后点击新建App (注意 我们是iOS App开发。不要选Mac App啦)

SKU公司用于做统计数据之类的id。依据公司需求填写

假设都填写好以后。可能会告诉你。你的App名字已经被占用,那么不好意思,你仅仅能改名了。(并且推荐大家的名字不要往比較出名的App上靠)否则审核可能会被拒绝。

以下我们的开发人员账号没有签订纳税合同。所以不能上线收费应用,所以仅仅能临时免费

然后右面这底下 须要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器执行后。挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S 就能够保存屏幕截图到桌面了)(注意:假设提示拖进去的图片尺寸不正确。则把模拟器弄成100%然后再Command  加  S) 尺寸參照表在以下

尺寸參照

错误提示:假设上传App 图标失败,提示alpha错误的话看以下。

打开你的图标图片,勾掉这个就能够了。

点击分级后面的编辑跳入

如实填写后点击完毕

版本号公布就是:(然后最以下选择自己主动公布的话就是假设审核通过,就自己主动上传到App Store供人下载)

5. 配置Xcode自己的project

打开你项目project 第一步。这里不能选择模拟器,选择iOS Device

假设不支持横屏。把这2个勾去掉

然后查看版本和构建版本

然后配置公布证书

然后,假设这里没有黄色叹号,代表你的配置没问题。假设有。那就是证书和描写叙述文件不匹配。或者描写叙述文件中刚才选的Bundle和如今的project的Bundle Identifier不一致,去develop.apple.com 上找到你的描写叙述文件在确认下绑定的bundle Identifier和你project是不是一样的?

然后继续。

断点,全局断点。僵尸模式等都要去掉。

然后设置Release模式(Debug是測试的,Release是公布用的)

然后选择 Xcode下 Product 下 Archive(专门用于传项目。或者打包项目)

出现下图说明你没有加入开发人员账号。点击右下脚Add... button就能够加入了

输入那个花钱买的开发人员账号

然后可能会弹出这个界面,假设不弹出按command 加 ,

然后回到那个Archive(选择账号,就是我们交过钱的)然后点击Choose

然后等待

以下选择Upload 提交

例如以下就代表上传成功,假设出错了请參考:http://www.cnblogs.com/lidongxu/p/5143453.html

然后回到Itunesconnect站点上你自己的App信息中查看一下

然后这个构建版本号这里就能够加入代码啦

点击+号之后选择代码版本号

然后全部东西都填写好了之后,点击页面右上角提交以供审核,然后你的应用就进入到排队等待审核的状态了(大概等1周多吧就能有结果。祝你好运)

然后我的App已经从准备提交,变成正在等待审核啦

要公布首先须要公布证书,其获取和安装的基本流程和真机调试证书一致,关于真机调试证书的获取和使用能够參考这篇文章。只是如今Xcode7不须要真机调试证书也可实现真机调试了,能够參考这篇文章

要获取证书,以及公布app,都须要开发人员账号。开发人员账号分为个人和企业两种,在https://developer.apple.com/programs/这个站点注冊。关于申请开发人员账号。有时间再写一篇文章好啦。

获取和安装公布证书

如今如果已经有了开发人员账号。为了避免不知道怎么安装开发人员证书,还是简单说一下:

首先。进入https://developer.apple.com/membercenter/index.action开发人员中心登录。

点击以下这个模块进入证书模块。

进入后显演示样例如以下图,能够看到有ios的应用,mac的应用和浏览器的扩展。当你的开发人员账号有对应的开发权限时则会在其板块下显示具体内容,这里我们看ios Apps部分,板块中四个部分Certificates(证书)、Identifiers(标志)、Devices(设备)、Provisioning Profiles(配置文件),分别点进去能够查看各个部分下我们账号已有的内容,这里我们先点第一项Certificates(证书)看看。

进去后例如以下图。先看左边一栏,还是刚才那四个部分,这里都能够方便的选择查看,而如今我们在的界面就是我们所拥有的证书界面了。我们看图中的右边部分。显示了全部拥有的证书。三列第一列显示你给证书定义的名字,第二列显示你的证书的类型。就包含真机调试证书和公布证书等等,如图中的“iOS Development”就表示真机调试证书,“iOS Distribution”表示公布证书,第三列显示证书的过期时间,超过这个时间证书就失效了,这里我已经创建过证书。所以看到四个证书。点击当中第一个真机调试证书。能够删除(谨慎。)和下载,至于下载了有什么用,待会再说。

当第一次进来的时候,列表是没有证书的,这里就须要点击右上角的加号来创建证书。

点击加号后出现证书种类选择界面。我们选择App Store的公布证书。

在往下走的过程中,会须要一个CSR文件。这个文件须要我们在电脑上生成。

点击mac上的火箭图形进入Launchpad,找到钥匙串訪问的图标,例如以下图:

打开后点击左上角钥匙串訪问-->证书主力-->从证书颁发机构请求证书。

打开后出现证书请求的对话框例如以下图。这里的目的是获取刚才我们在创建证书时须要的钥匙串文件,有两种获取方式,一种是电子邮件形式,一种是直接存储到电脑上。假设选择用电子邮件的话。上面两个须要填电子邮件的文本框就是接收的邮箱。这两个邮箱一定要填成一样的;为了方便也可一直选择存储到磁盘。但电子邮件地址还是要填写且一致,只是反正用不着能够随便填写。 仅仅要一样就好了,存储到磁盘点击继续的话会要你选择存储的位置。一定要让自己找得到。

成功后会得到一个CertificateSigningRequest 文件。也就是经常看到的CSR文件。

钥匙串CSR文件创建好后,就能够回到刚才的站点界面,选择我们刚刚创建的钥匙串配置文件上传。点击Generate就能够创建成功了,然后点击Download将其下载到我们的电脑上。这样我们就得到这个真机调试的证书cer文件。然后。双击这个文件。一定要双击才会将证书安装到钥匙串中,否则使用是会有问题的,你双击后看到它闪了一下就能够了,在钥匙串中是能够找到这个文件的。

至此,我们已经完毕第一步了,注意,这仅仅是第一步哦。不要以为弄到证书了就能够万事大吉了,还早呢,不得不说实在是...太麻烦了。

好啦。继续我们的工作。

如今我们到Identifiers部分中来,给我们的project创建一个app ID,也就是project标志,或者project签名。在界面左側点击Identifiers部分中的App IDs,右边能够看到已经创建的标志列表,点击加号来创建新的标志。

创建时须要填写Name用来方便兴许找到这个标志,然后在App ID Suffix中填写App ID,也就是project标识。这里有两种标识,一种是Explicit App ID固定标识,相应于一个project,假设有多个project,也能够选择Wildcard App ID广域标识,能够相应多个project。

标识的填写方式它也给出了演示样例。

提交后我们就获得了一个project的标识。这一步就能够结束了。还算简单,进入下一步。

如今最终到了获取证书的最后一个步骤了!我们之前创建的内容互相之间是零散的。并没有关联起来,而这最后一步就是要将证书、project标识融合起来了,这样才可能统一管理吧。所以对于最后一个部分:Provisioning Profiles配置文件,我的理解就是把上面的信息合起来配个一个详细的project,这样才方便管理。假设有不正确的地方希望不吝赐教一下~

与上面步骤一样。点击PP部分的All之后。点击右上角的加号创建新的PP配置文件,也不配图了懒...

创建时选择第一个调试部分的真机iOS App Distuibution真机调试文件,依次选择app ID、证书,最后起名,下载到本地。

与之前下载的证书文件一样。双击这个文件,来把它安装到Xcode中去,才干正常使用。看到闪了一下就表示安装了。

至此。我们的准备工作基本完毕了。下一步就是去Xcode里设置来证书了。

设置公布证书

第一步:在project的Supporting Files下,找到.plist文件,然后在右边的列表中找到Bundle identifier行。设置成与我们刚才创建的project标识一致;

第二步:点击project名(最上面蓝色的),中间列表选择TARGETS下的project同名文件,于右边的列表中找到Code Signing部分,找到Provisioning Profile项选择我们刚才创建并安装的PP配置文件。还是Code Signing部分中,找到Code Signing Identity行,下属的四个所有改成我们创建并下载的证书cer文件。注意,不是PP文件;

第三步:在中间列表中的PROJECT下选择project同名文件。进行与第二步相同的改动。

这样,准备完成,能够去申请公布了。

提交到App Store

前面都是准备阶段,真正的公布如今才開始。

如今回到我们刚才的开发人员中心https://developer.apple.com/membercenter/index.action

刚才我们是进入证书模块,如今我们进入iTunes模块,也就是App Store模块:

这里我们进入“我的App”版块,其它的分析版块在公布之后能够看到一些关于app的统计信息。

进入后。左上角有个+号,点击它新建App

然后填写这个简单的信息界面。当中套装ID即Bundle ID,SKU自己起一个比較独特的名字就好了,全部要填写的内容都能够点击问号查看解释,如今都中文化了,挺方便的。

创建后进入app信息填写界面,有几个tab标签,当中“App Store”标签下的为App Store中会显示的信息,“活动”标签下有从Xcode提交的ipa文件,之后会看到。

“App Store”标签下的差点儿全部信息都要认真填写。相同每一个地方都有问号button能够查看解释,解释几个比較须要注意的吧:

  • 各个尺寸下的app截图都须要填写。仅仅要你的app有支持,就要提供截图,截图能够直接在各个尺寸的模拟器中执行后,按command+S截图。图片会保存在桌面,尺寸是刚好合适的,能够直接提交上来。图片能够拖动移动顺序。也能够点击图片左上角的减号移除图片,最多仅仅能五张
  • 描写叙述是App Store中显示的描写叙述信息
  • 网址会让用户能够从App Store里点击链接过去。

  • 版权信息终于会显示在App Store应用信息的最下方,格式没有太多要求。看起来正式一点就好。

  • 分级信息把各项都选好后会自己主动计算分级的。
  • 审核信息须要好好填写,须要登录使用的话,一定要提供測试账号给审核人员登录使用。有什么情况也要尽量在备注里说明,防止被拒绝。

  • 填写信息的时候注意随时点击右上角的存储button存储已填写的信息。

这些信息填写完后,就能够去Xcode提交ipa文件了。

首先,Xcode中的执行设备一定要是iOS Device或者真实机器,不能是模拟器。不然会打包失败。


然后点击菜单条的Product-->Archive进行打包project。
打包完成后会进入一个提交界面(这个界面以后也能够从菜单条Window-->Organizer进入)。

这个界面左边会显示你的app列表,中间显示了你一个app下各个版本号的ipa包,刚才打包好的也会出如今这里。如今点击右边的提交button:



这时会让你选择提交到的账号,选择你的开发人员账号。然后就能够上传了。上传须要一些时间,可能一段时间都没有进度。没关系耐心点。他的进度条不是非常准确,和网速也有关系。

上传完成后,这时能够回到刚才填写App信息的站点,进入“活动”标签,在“全部构建版本号”中能够看到有一个包被上传上来了。苹果会对这个包简单地审核一段时间。不出意外的话一会后就会从灰色变成明显成功的颜色。假设失败的话,会显示一个红色的感叹号标记,这是就要去你的注冊邮箱中查看是什么问题,会收到邮件的。解决这个问题又一次上传直到成功。

假设成功了。我们回到“App Store”标签下。在“构建版本号”的区域就会能够选择刚才上传的版本号。

至此,全部工作都准备好了,能够点击右上角的“提交以供审核”了。假设有什么信息填写不对。会提示你的,补完就好了。提交时还会让你选择一些是否加密之类的。选好就能够等待审核了。


一般审核须要一周的时间,能够时不时登录站点看一下进度,假设有了什么消息邮箱也会收到邮件的。假设失败了,苹果会告知拒绝原因。能够沟通和改动继续提交。




公布新版本号

除了第一次提交审核,兴许更新也非常easy,还是在iTunes Connect版块,在“App Store”标签下,点击添加版本号就可以,然后基本流程都和上面说的差点儿相同,要填写的信息在顶部多了一个新功能的填写框。
仅仅是记得在开发和公布之间更换调试证书和公布证书~

iOS 最新公布app到AppStore全流程具体解释的更多相关文章

  1. 最新Xcode7.x环境下上架iOS App到AppStore 完整流程

    最新Xcode7.x环境下上架iOS App到AppStore 流程  part 1 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iTunesConnect ...

  2. iOS版本更新的App提交审核发布流程

    http://www.2cto.com/kf/201502/378698.html 版本更新的App和新App的发布提交流程略有不同,新的App需要在开发者账号里准备发布证书,添加App的id,关联描 ...

  3. 【上传AppStore】iOS项目上传到AppStore步骤流程(第一章) - 上传新的app

    1.登录developer.apple.com 2.点击member center后 然后如下图 3.点击certificates Identifiers 进下图 界面基本介绍请看图 : 4. 其次创 ...

  4. 【上传AppStore】iOS项目上传到AppStore步骤流程(第三章) - 基本信息总汇

    一.App ID(bundle identifier) App ID即Product ID,用于标识一个或者一组App. App ID应该和Xcode中的Bundle Identifier是一致(Ex ...

  5. iOS项目上传到AppStore步骤流程

    1.登录developer.apple.com 2.点击member center后 进下图 3.点击certificates Identifiers进下图 4.点击Certificates进下图,首 ...

  6. App提交Appstore审核流程

    原文: https://www.douban.com/note/461351420/ 这是一个app提交到iTunces Connect被拒了4次摸索出来的经验,说多了都是泪,先让我擦擦...好了,话 ...

  7. App提交Appstore审核流程【转】

    这是一个app提交到iTunces Connect被拒了4次摸索出来的经验,说多了都是泪,先让我擦擦...好了,话不多说,为了让中国的app不再那么容易被拒,或者被拒了不知道该咋办,我把我的小经验在这 ...

  8. IOS打包发布APP的所有详细流程

    其他一些不错的参考:点击打开链接 一.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分为:(1)个人开发者账号   (2)企业开发者账号   主要的区 ...

  9. iOS: 上传App到AppStore,由于Xcode上传太慢,换成Application Loader上传,速度秒传

    一.遇到的遭遇 在之前的项目开发中,本人有点固执,一直采用xcode打包后再上传,结果可想而知: (1)要么上传时速度慢的跟蜗牛似的,等的我心力交瘁(不排除网络不给力的原因,公司这个吊问题快把我气疯了 ...

随机推荐

  1. Appium+python自动化18-brew、carthage和appium-doctor【转载】

    前言 本篇安装brew.carthage,解决启动appium时的报错问题,另外安装appium-doctor检查appium的环境 1.brew 2.carthage 3.appium-doctor ...

  2. 用了GradientDrawable后,当点击控件时,控件大小发生变化

    android新手:发现一个很奇怪的问题,用了GradientDrawable后,当点击控件时,程序自动使我的一些控件大小保持一致,为什么呢,我就是不想它们保持一致啊 改了好久好久:GradientD ...

  3. (1)Java Spring

    Spring 4种关键策略: 基于POJO的轻量级和最小侵入编程 通过依赖注入和面向接口实现松耦合 基于切面和惯例进行声明式编程 通过切面和模板减少样板式代码

  4. linux中,在在shadowsoks下怎么更新软件

    在shadowsoks下怎么更新软件 先描述一下我的情况.我们学校不给大一开通校园网,我自己租用了***的vps服务器,搭建shadowsocks,(使用ipv6地址才能连接),开始了自己悲催的上网生 ...

  5. java有自动垃圾回收机制

    当垃圾收集器判断已经没有任何引用指向对象的时候,会调用对象的finalize方法来释放对象占据的内存空间~ java中垃圾回收以前听老师讲好像是内存满了他才去做一次整体垃圾回收,在回收垃圾的同时会调用 ...

  6. 摘录 | WAREZ无形帝国

    开始 这会儿夜深了,他们昏昏睡去.随便哪栋建筑的某一个黑洞洞的窗口,你冷眼望去,没准就能看到一台白色的电脑,静静地卧在主人的书桌上.如果那主人睡得足够深,你就打开他的抽屉,你看到了什么?哦,我不是指他 ...

  7. Bluetooth篇 开发实例之六 蓝牙RSSI计算距离

    计算公式: d = 10^((abs(RSSI) - A) / (10 * n)) 其中: d - 计算所得距离 RSSI - 接收信号强度(负值) A - 发射端和接收端相隔1米时的信号强度 n - ...

  8. 分布式数据库以及OS

    http://blog.csdn.net/longronglin/article/category/230501

  9. gamma校正原理

    http://blog.csdn.net/u013286409/article/details/50239377 目录(?)[-]   图2中左图为原图,中图为gamma = 1/2.2在校正结果,原 ...

  10. ambari修改admin密码

    https://community.hortonworks.com/questions/449/how-to-reset-ambari-admin-password.html 1) Postgres ...