众所周知,iOS APP真机调试,上架等流程十分复杂,很多人每次操作都要上网查教程,网上的教程也很多,有一些真的是很详细,比如这篇http://www.thinksaas.cn/topics/0/451/451731.html, 但是这些文章大多有一个通病,就是只说怎么搞,不说每一步为啥,有的朋友,也是每次操作都要查一下,照着教程弄, 弄完就忘了,这篇文章就来说一下每一步都为了什么,让大家看完之后就再也不用去查这类教程了。
证书配置也就是在下图的栏目进行的操作, 这个栏目下需要完成四个步骤, 发布证书需要完成三个步骤(不需要配置Devices)
![](https://i-blog.csdnimg.cn/blog_migrate/08dfefe6be4c3e4f1b17c3891a355442.webp?x-image-process=image/format,png)
- 1.配置证书, 理解配置证书是干什么,记住以下几点即可
* 证书只用来指定哪台电脑可以真机调试
* 它怎么知道你用的是哪台电脑, 用你的钥匙串导出的“证书请求文件”告诉它
下面通过大概流程验证一下这个说法:
(1)选择开发证书还是发布证书, 这个随意, 选好了直接下一步
![](https://i-blog.csdnimg.cn/blog_migrate/758cb97f2927b0b22e4cc2fa384d538c.webp?x-image-process=image/format,png)
(2)这里就要用钥匙串导出的证书请求文件, 告诉它你是哪台电脑, 它知道你是哪台电脑了, 才能给你证书
![](https://i-blog.csdnimg.cn/blog_migrate/da36ac8c61fcd7a68392e6b79fafe9e0.webp?x-image-process=image/format,png)
(3)到这里就配置完成, 想一下这个过程只有用到了开发者中心和MAC的钥匙串, 所以到现在为止和手机或者APP有一点关系吗。。。没有。。。
![](https://i-blog.csdnimg.cn/blog_migrate/971a6b2504fc983e06a7261964ebe95e.webp?x-image-process=image/format,png)
(4)安装证书, MAC安装证书大家都会, 直接双击, 就装到钥匙串离了, 更加说明了, 配置证书就是指定了哪台电脑可以用于打包完成真机调试。
- 2.配置APPID,记住以下几点即可
* 告诉苹果, 那个APP将要进行真机测试或者发布
* 告诉苹果, 你的APP要支持什么特殊功能(推送等)
下面通过大概流程验证一下这个说法:
(1)填写 Bundle, 也就是告诉苹果你的这个APP要真机测试或者发布了, 登个记
![](https://i-blog.csdnimg.cn/blog_migrate/5edf9faab0de9c080a8f8f6ac44f3fc3.webp?x-image-process=image/format,png)
(2)告诉它这个APP有啥特殊功能, 推个送之类的等等, 它好知道你需要点什么特殊服务啊
![](https://i-blog.csdnimg.cn/blog_migrate/ba42a7a7d546158d77a206be12320689.webp?x-image-process=image/format,png)
(3)然后就完成了, 推送还需要专门负责推送的证书, 所以不是绿灯一会说, 想一下这一步的过程, 只是开发者中心和bundleID即APP有关系, 和电脑手机有关系吗。。。没有。。。
![](https://i-blog.csdnimg.cn/blog_migrate/7f5431737269f49856e0198242cfa0d3.webp?x-image-process=image/format,png)
- 3.既然这个APP还用推送, 就去把推送证书也配置一下吧, 同样需要
* 告诉苹果, 哪个APP要支持推送(会关联到APPID那里)
* 告诉苹果, 哪台电脑要支持带推送功能的app的真机调试或发布
贴几张图, 不详细说了, 都一样的事
![](https://i-blog.csdnimg.cn/blog_migrate/c9cffca569d84eeac4fd63965e7f0258.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/af7de11d529ea65330d5049effdebb48.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ee9f5cdac69585d8f3848413bf59400.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/ffd77561b5a432ca357711950f796843.webp?x-image-process=image/format,png)
这个时候去对应的APPID看一下,就会发现这个APPID的测试推送功能变绿了
![](https://i-blog.csdnimg.cn/blog_migrate/98435884cbf3ad79a7ff3eb86d220827.webp?x-image-process=image/format,png)
- 4.接着搞下一项, Devices, 这个没啥可说的, 发布不需要, 测试的话, 把想要用来测试的手机全都加进去
![](https://i-blog.csdnimg.cn/blog_migrate/75955d8ec2afbb8eaa3acd63f665bf86.webp?x-image-process=image/format,png)
- 5.最后一项, Provisioning Profiles文件, 也叫PP文件, 配置文件等等, 之前说的东西不管是证书 还是 APPID , 都只与开发者中心有联系, 那么怎么让这些东西互相都联系在一起呢, 就是这个文件的作用
* 把你的开发者账号,APPID,证书文件(就是指用来真机或发布的电脑), 支持的手机设备都联系在一起
* 把所有之前做的工作联系起来, 必须满足了这些条件, 才能真机或者发布
* 发布的配置文件, 没有添加手机设备这一项
下面说一下这一步的大概流程:
(1)选择开发还是发布配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/6f72df65574f2366d5e80c1c3ce6e3c6.webp?x-image-process=image/format,png)
(2)选择一个APPID
![](https://i-blog.csdnimg.cn/blog_migrate/02003c10647af132c1fd41a542f020b3.webp?x-image-process=image/format,png)
(3)选择一个证书, 把上面的APPID和这个证书关联起来, 这样这个APPID对应的APP, 只能通过安装了这个证书的MAC进行真机测试或发布。
为什么选择证书的时候没有推送证书的选项, 因为在配置推送证书的时候, 已经指定了那个APPID有推送功能, 如果用来真机的MAC装好了推送证书就可以
![](https://i-blog.csdnimg.cn/blog_migrate/1e6e51b33aec06977d2328145a04defb.webp?x-image-process=image/format,png)
(4)选择支持这个APPID测试的真机, 发布证书没有这一项, 因为都发布了就是谁都可以用了。。。
![](https://i-blog.csdnimg.cn/blog_migrate/9aa7b9fdc3da8d0e2d67fdc5cc0e3532.webp?x-image-process=image/format,png)
(5)给配置文件起个名字, 就完成了, 下载安装就可以, 注意下图中的Type, APPID, certificates, Devices, 连起来读就是一句话, 这个APPID是xxx的APP真机调试的时候,只能在装了 certificates的这个证书的电脑上调试, 并且只能用添加了的24台设备真机测试。
![](https://i-blog.csdnimg.cn/blog_migrate/e1744fe20ed5fcbb7e6ccf9c007f69f9.webp?x-image-process=image/format,png)
至此, 整个证书配置流程就结束了,其实就是每个设置各司其职,最后靠Provisioning Profiles把所有条件联系在一起,到这里就可以真机调试, 至于发布上架,以及在ITunes Connect里设置的流程, 没什么不好理解的地方, 就不过多解释了
最近将会会写一篇关于网络封装的文章, 将每个接口封装成一个对象,每个请求都要集成一个基础类, 实现一些requestUrl等方法, 类似猿题库公司开源的https://github.com/yuantiku/YTKNetwork, 但是比YTKNetwork简单一些, 如果不熟悉这种封装方式的可以关注我之后发的文章,先简单了一下这种思路, 这里先放出Demo的地址, 有兴趣的可以先看一下https://github.com/CoderLXWang/SJAPIManager
原文链接:http://www.jianshu.com/p/9f847fbc5d5f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。