要发布首先需要发布证书,其获取和安装的基本流程和真机调试证书一致,关于真机调试证书的获取和使用可以参考这篇文章。不过现在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,找到钥匙串访问的图标,如下图:
打开后点击左上角钥匙串访问-->证书主力-->从证书颁发机构请求证书。
图片上传中...(image-50c8a8-1510988595773-0)
打开后出现证书请求的对话框如下图,这里的目的是获取刚才我们在创建证书时需要的钥匙串文件,有两种获取方式,一种是电子邮件形式,一种是直接存储到电脑上。如果选择用电子邮件的话,上面两个需要填电子邮件的文本框就是接收的邮箱,这两个邮箱一定要填成一样的;为了方便也可一直选择存储到磁盘,但电子邮件地址还是要填写且一致,不过反正用不着可以随便填写, 只要一样就好了,存储到磁盘点击继续的话会要你选择存储的位置,一定要让自己找得到。
成功后会得到一个CertificateSigningRequest 文件,也就是常常看到的CSR文件。
钥匙串CSR文件创建好后,就可以回到刚才的网站界面,选择我们刚刚创建的钥匙串配置文件上传,点击Generate就可以创建成功了,然后点击Download将其下载到我们的电脑上,这样我们就得到这个真机调试的证书cer文件,然后,双击这个文件,一定要双击才会将证书安装到钥匙串中,否则使用是会有问题的,你双击后看到它闪了一下就可以了,在钥匙串中是可以找到这个文件的。
至此,我们已经完成第一步了,注意,这只是第一步哦,不要以为弄到证书了就可以万事大吉了,还早呢,不得不说实在是...太麻烦了。好啦,继续我们的工作。
现在我们到Identifiers部分中来,给我们的工程创建一个app ID,也就是工程标志,或者工程签名。在界面左侧点击Identifiers部分中的App IDs,右边可以看到已经创建的标志列表,点击加号来创建新的标志。
创建时需要填写Name用来方便后续找到这个标志,然后在App ID Suffix中填写App ID,也就是工程标识,这里有两种标识,一种是Explicit App ID固定标识,对应于一个工程,如果有多个工程,也可以选择Wildcard App ID广域标识,可以对应多个工程。标识的填写方式它也给出了示例。
提交后我们就获得了一个工程的标识,这一步就可以结束了,还算简单,进入下一步。
现在终于到了获取证书的最后一个步骤了!我们之前创建的内容互相之间是零散的,并没有关联起来,而这最后一步就是要将证书、工程标识融合起来了,这样才可能统一管理吧,所以对于最后一个部分:Provisioning Profiles配置文件,我的理解就是把上面的信息合起来配个一个具体的工程,这样才方便管理,如果有不对的地方希望指教一下~
与上面步骤一样,点击PP部分的All之后,点击右上角的加号创建新的PP配置文件,也不配图了懒...
创建时选择第一个调试部分的真机iOS App Distuibution真机调试文件,依次选择app ID、证书,最后起名,下载到本地。
与之前下载的证书文件一样,双击这个文件,来把它安装到Xcode中去,才能正常使用,看到闪了一下就表示安装了。
至此,我们的准备工作基本完成了,下一步就是去Xcode里设置来证书了。
设置发布证书
第一步:在工程的Supporting Files下,找到.plist文件,然后在右边的列表中找到Bundle identifier行,设置成与我们刚才创建的工程标识一致;
第二步:点击工程名(最上面蓝色的),中间列表选择TARGETS下的工程同名文件,于右边的列表中找到Code Signing部分,找到Provisioning Profile项选择我们刚才创建并安装的PP配置文件,还是Code Signing部分中,找到Code Signing Identity行,下属的四个全部改成我们创建并下载的证书cer文件,注意,不是PP文件;
第三步:在中间列表中的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”标签下的几乎所有信息都要认真填写。同样每个地方都有问号按钮可以查看解释,解释几个比较需要注意的吧:
- 各个尺寸下的app截图都需要填写,只要你的app有支持,就要提供截图,截图可以直接在各个尺寸的模拟器中运行后,按command S截图,图片会保存在桌面,尺寸是刚好合适的,可以直接提交上来。图片可以拖动移动顺序,也可以点击图片左上角的减号移除图片,最多只能五张
- 描述是App Store中显示的描述信息
- 网址会让用户可以从App Store里点击链接过去。
- 版权信息最终会显示在App Store应用信息的最下方,格式没有太多要求,看起来正式一点就好。
- 分级信息把各项都选好后会自动计算分级的。
- 审核信息需要好好填写,需要登录使用的话,一定要提供测试账号给审核人员登录使用,有什么情况也要尽量在备注里说明,防止被拒绝。
- 填写信息的时候注意随时点击右上角的存储按钮存储已填写的信息。
这些信息填写完后,就可以去Xcode提交ipa文件了。
首先,Xcode中的运行设备一定要是iOS Device或者真实机器,不能是模拟器,不然会打包失败。
然后点击菜单栏的Product-->Archive进行打包工程。
打包完毕后会进入一个提交界面(这个界面以后也可以从菜单栏Window-->Organizer进入)。
这个界面左边会显示你的app列表,中间显示了你一个app下各个版本的ipa包,刚才打包好的也会出现在这里,现在点击右边的提交按钮:
这时会让你选择提交到的账号,选择你的开发者账号,然后就可以上传了,上传需要一些时间,可能一段时间都没有进度,没关系耐心点,他的进度条不是很准确,和网速也有关系。
上传完毕后,这时可以回到刚才填写App信息的网站,进入“活动”标签,在“所有构建版本”中可以看到有一个包被上传上来了。苹果会对这个包简单地审核一段时间。不出意外的话一会后就会从灰色变成明显成功的颜色。如果失败的话,会显示一个红色的感叹号标记,这是就要去你的注册邮箱中查看是什么问题,会收到邮件的。解决问题重新上传直到成功。
如果成功了,我们回到“App Store”标签下,在“构建版本”的区域就会可以选择刚才上传的版本。至此,所有工作都准备好了,可以点击右上角的“提交以供审核”了。如果有什么信息填写不正确,会提示你的,补完就好了。提交时还会让你选择一些是否加密之类的,选好就可以等待审核了。
一般审核需要一周的时间,可以时不时登录网站看一下进度,如果有了什么消息邮箱也会收到邮件的。如果失败了,苹果会告知拒绝原因,可以沟通和修改继续提交。
发布新版本
除了第一次提交审核,后续更新也很简单,还是在iTunes Connect版块,在“App Store”标签下,点击增加版本即可,然后基本流程都和上面说的差不多,要填写的信息在顶部多了一个新功能的填写框。
只是记得在开发和发布之间更换调试证书和发布证书~