几经折腾,终于上传成功,记录下过程送给同为菜鸟的你,如果里面有很菜的东西,大牛请自动忽略,毕竟这也是还为菜鸟的我的备忘录呢!
网上查看了很多教程,但是因为appale更新太快,很多教程虽然是不久前才发的,但是跟我操作时的流程又发生了变化。虽然根据已有教程还是摸索着完成了,但还是记录下我的操作流程,以帮助跟多的人。
本文章主要参考了以下两位老师的文章:
[if !supportLists]1. [endif]https://www.jianshu.com/p/72ec3c1c4c2d?tdsourcetag=s_pcqq_aiomsg
[if !supportLists]2. [endif]https://www.cnblogs.com/weihengblogs/p/6425222.html
首先得描述一下各个证书的定位,作用,这样在制作的时候心中有谱,对整个流程的把握也会准确一些;
1、开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;
2、appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的appID;
3、推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios),该证书在appID配置中创建生成,和开发者证书一样,安装到开发电脑上;
4、Provisioning Profiles,这个东西是很有苹果特色的一个东西,我一般称之为PP文件,该文件将appID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在PP文件中添加真机的udid;是真机调试和必架必备之珍品;
[if !supportLists]一. [endif]准备工作
一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费。)。
一个已经开发完成的项目。
检查:
你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。
上传使用的Mac的OS X系统必须也是正式版的,beta版本也不行。
请确认你安装的Xcode是从App Store或者是开发者网站下载的,而不是从其它渠道获取的安装包安装的,因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?
检查方法
[if !supportLists]二. [endif]创建CSR文件
申请证书的时候会用到CSR文件,将本机和证书绑定。
在Launchpad的其他里面,点击钥匙串访问弹出如下界面
其他
钥匙串访问
工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...
请求证书
证书信息
将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)
存储证书
点击完成
CertificateSigningRequest.certSigningRequest文件
[if !supportLists]三. [endif]申请开发者证书
打开苹果开发者中心:https://developer.apple.com,点击:Account
下面输入已付款过的Apple账号和密码登录(如果你的电脑已经保存了密码,会直接进入)
点击:Certificates,Identifiers & Profiles(专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方)
点击“+”创建新的证书
由于是做App上传,选择生产证书(App Store and Ad Hoc)
然后choose File 选择第二步中生成的CSR文件
下载证书到电脑
双击下载好的.cer证书,便会自动添加到钥匙串的证书当中
点击Identifiers,然后点击“+”号,生成一个新的APP ID .
选择App IDs
填写:
[if !supportLists]1. [endif]APP ID 可以随便输入,一般输入你的工程名,建议加上日期方便记忆。但是不能有中文
[if !supportLists]2. [endif]Bundle ID 一般格式是com.codery.YourProjectName. 打包工程时的Bundle Identifier 和这里的Bundle ID 两处需要一样。
这个相当于是APP的识别码,用于标识一个APP。两处不同则会被判定为你上传的APP和注册申请的APP不是同一个
如果是申请开发证书,并且还需要真机调试。则还需要注册Devices,这里发布APP就直接跳过了。
又叫描述文件,用于把证书和Bundle Identifier关联起来
因为是发布,所以选择下面App Store这个描述文件,点击Continue
APP ID 选择刚注册的那个APP ID
选择第三步中申请到的证书,下一步
给描述文件起名字
下载
下载好后双击下载下来的文件。(不知道有什么用,有说是双击后会自动添加到电脑里)
[if !supportLists]六、[endif]在App Store开辟空间
参考:https://www.jianshu.com/p/72ec3c1c4c2d?tdsourcetag=s_pcqq_aiomsg
[if !supportLists]七、[endif]在Xcode中打包上传工程
在Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作
选择iOS Device
注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致,去https://develop.apple.com上找到你的描述文件在确认下绑定的Bundle Identifier和你工程是不是一样的?
将断点、全局断点,僵尸模式等都要去掉。
开始生成打包上传(之前先确定代码能编译通过不报错)
列表中各个项目挨着点一下,确保都是release模式
选择Xcode下Product下Archive(专门用于传项目,或者打包项目)
点击archive后等待编译完成,编译好后会自动弹出如下界面,点击红框按钮开始发布APP。
生成好用于发布的文件后,直接上传。
上传这一步可能会卡很久,看很多网友都反应等待了非常久。我一个朋友最长的时候等过1天才上传上去。我这次上传也卡了一天没反应,第二天到公司重启电脑,再次上传,2分钟搞定。
上传成功后会有提示,之后就可以在ITunes Connect(https://appstoreconnect.apple.com)中进行管理了。
如果嫌直接用xcode上传太慢,也可以用Application Loader进行上传,具体方法请参考:https://www.jianshu.com/p/72ec3c1c4c2d?tdsourcetag=s_pcqq_aiomsg