众所周知,iOS APP真机调试,上架等流程十分复杂,很多人每次操作都要上网查教程,网上的教程也很多,有一些真的是很详细,比如这篇http://www.thinksaas.cn/topics/0/451/451731.html, 但是这些文章大多有一个通病,就是只说怎么搞,不说每一步为啥,有的朋友,也是每次操作都要查一下,照着教程弄, 弄完就忘了,这篇文章就来说一下每一步都为了什么,让大家看完之后就再也不用去查这类教程了。
证书配置也就是在下图的栏目进行的操作, 这个栏目下需要完成四个步骤, 发布证书需要完成三个步骤(不需要配置Devices)

- 1.配置证书, 理解配置证书是干什么,记住以下几点即可
* 证书只用来指定哪台电脑可以真机调试
* 它怎么知道你用的是哪台电脑, 用你的钥匙串导出的“证书请求文件”告诉它
下面通过大概流程验证一下这个说法:
(1)选择开发证书还是发布证书, 这个随意, 选好了直接下一步

(2)这里就要用钥匙串导出的证书请求文件, 告诉它你是哪台电脑, 它知道你是哪台电脑了, 才能给你证书

(3)到这里就配置完成, 想一下这个过程只有用到了开发者中心和MAC的钥匙串, 所以到现在为止和手机或者APP有一点关系吗。。。没有。。。

(4)安装证书, MAC安装证书大家都会, 直接双击, 就装到钥匙串离了, 更加说明了, 配置证书就是指定了哪台电脑可以用于打包完成真机调试。
- 2.配置APPID,记住以下几点即可
* 告诉苹果, 那个APP将要进行真机测试或者发布
* 告诉苹果, 你的APP要支持什么特殊功能(推送等)
下面通过大概流程验证一下这个说法:
(1)填写 Bundle, 也就是告诉苹果你的这个APP要真机测试或者发布了, 登个记

(2)告诉它这个APP有啥特殊功能, 推个送之类的等等, 它好知道你需要点什么特殊服务啊

(3)然后就完成了, 推送还需要专门负责推送的证书, 所以不是绿灯一会说, 想一下这一步的过程, 只是开发者中心和bundleID即APP有关系, 和电脑手机有关系吗。。。没有。。。

- 3.既然这个APP还用推送, 就去把推送证书也配置一下吧, 同样需要
* 告诉苹果, 哪个APP要支持推送(会关联到APPID那里)
* 告诉苹果, 哪台电脑要支持带推送功能的app的真机调试或发布
贴几张图, 不详细说了, 都一样的事




这个时候去对应的APPID看一下,就会发现这个APPID的测试推送功能变绿了

- 4.接着搞下一项, Devices, 这个没啥可说的, 发布不需要, 测试的话, 把想要用来测试的手机全都加进去

- 5.最后一项, Provisioning Profiles文件, 也叫PP文件, 配置文件等等, 之前说的东西不管是证书 还是 APPID , 都只与开发者中心有联系, 那么怎么让这些东西互相都联系在一起呢, 就是这个文件的作用
* 把你的开发者账号,APPID,证书文件(就是指用来真机或发布的电脑), 支持的手机设备都联系在一起
* 把所有之前做的工作联系起来, 必须满足了这些条件, 才能真机或者发布
* 发布的配置文件, 没有添加手机设备这一项
下面说一下这一步的大概流程:
(1)选择开发还是发布配置文件

(2)选择一个APPID

(3)选择一个证书, 把上面的APPID和这个证书关联起来, 这样这个APPID对应的APP, 只能通过安装了这个证书的MAC进行真机测试或发布。
为什么选择证书的时候没有推送证书的选项, 因为在配置推送证书的时候, 已经指定了那个APPID有推送功能, 如果用来真机的MAC装好了推送证书就可以

(4)选择支持这个APPID测试的真机, 发布证书没有这一项, 因为都发布了就是谁都可以用了。。。

(5)给配置文件起个名字, 就完成了, 下载安装就可以, 注意下图中的Type, APPID, certificates, Devices, 连起来读就是一句话, 这个APPID是xxx的APP真机调试的时候,只能在装了 certificates的这个证书的电脑上调试, 并且只能用添加了的24台设备真机测试。

至此, 整个证书配置流程就结束了,其实就是每个设置各司其职,最后靠Provisioning Profiles把所有条件联系在一起,到这里就可以真机调试, 至于发布上架,以及在ITunes Connect里设置的流程, 没什么不好理解的地方, 就不过多解释了
最近将会会写一篇关于网络封装的文章, 将每个接口封装成一个对象,每个请求都要集成一个基础类, 实现一些requestUrl等方法, 类似猿题库公司开源的https://github.com/yuantiku/YTKNetwork, 但是比YTKNetwork简单一些, 如果不熟悉这种封装方式的可以关注我之后发的文章,先简单了一下这种思路, 这里先放出Demo的地址, 有兴趣的可以先看一下https://github.com/CoderLXWang/SJAPIManager
网友评论