从第一个app开始就在弄证书的事情,一直到第二个app也一直使用证书创建证书,到了现在做第三个app了。一样是独立负责,但是发现自己还是没有理清楚证书相关的好些东西,现在自己大概是明白了。把这些东西写下来,整理思路。
首先需要一个开发者账号,具体的步骤:这个链接很详细:http://jingyan.baidu.com/article/546ae1850239aa1148f28c4d.html
要使用到证书以及配置文件的第一处:真机运行。
1、电脑钥匙串---请求证书---从颁发机构请求证书---存储到磁盘---导出certificate文件。下载安装到钥匙串中
2、登录到开发者中心,certificate---development--add;添加开发者证书,上传之前的certificate文件。生成开发者证书development.certificater
3、添加APP ID,主要是设置bundle name 一定要与项目中的bundle name一致(用于唯一标识你的project),为了你以后要使用push 消息,你要勾选APNS notification。当然,现在不勾选,以后也可以编辑APP ID,但是你就要重新generate新的profile文件。
4、添加设备--devices,从Xcode--window--devices,查看连接的设备信息,获取设备标识,添加到devices中
5、到certificate---development--add添加开发运行证书,选择app ID、上传钥匙串导出的文件,即可生成开发证书
5,最后就是要生成Xcode中要使用的配置文件了,前面的一系列步骤就是为了生成这个,安装到Xcode中进行真机运行配置。进入Provisioning Profile中development--add--选择你生成的开发者证书development.certificate以及app ID,需要真机运行的设备devices。然后就合成了最终具有推送功能的真机运行证书(前提是你在app ID 勾选APNS notification)
6、进入Xcode--preference--account--登录你的开发者账号,下载所有的Profile。
7、项目中Project以及targets中build settings--Code Signing设置你的开发者和配置文件(Profile)配置正确即可真机运行
对于要多台mac真机运行,只需要将上传钥匙串的那个电脑中,导出开发者证书和密钥,生成P12文件。另外他自己去下载生成的开发证书(步骤5生成的那个)以及相应的Profile。配置Xcode(6),会跳出一个issue,fix,选择机构为开发机构(你们公司)即可。
还有就是在开发者中心--People--invate其他人(apple ID)成为团队的开发者。注意的是,admin权限的才可以添加AppleID和Profile,而member只能添加一个开发者证书,其他的没有权限添加。
第二个就是推送功能,其实上一步已经生成了开发环境中的推送证书。这里就应该来说一下,推送的原理,我们的app的推送sever带上消息和一个推送证书的P12(开发或者生产环境下)发送给苹果APNS服务器,APNS在已经注册消息推送的iPhone中找到相应标识的iPhone,然后把消息发到iPhone。之后iPhone把发来的消息传递给相应的应用程序,弹出push通知。
继续来说一下,生产环境的推送证书以及profile的生成到certificate---production--add添加推送运行证书.要上传之前钥匙串中的cer,选择对应的app ID。要安装在电脑钥匙串中,导出P12文件,给推送服务器,用去app之后的推送。
继续到Profile中选在distribution---生成生产环境中的Profile。
打包提审中要用到的证书和profile
1、certificate---production--add添加生产证书---对应显示公司或者机构的名字,需要上传钥匙串导出文件
2、ad_hoc打包证书,用于安装到有限台的机器上的证书
2、上传到app store上的打包证书,其实就是生产环境下的推送证书。需要选择的是certificate是distribution类型的。