iOS证书问题

2018-08-10  本文已影响0人  sunshinfight

Certificates(证书)

部分常用证书

  1. 开发证书:app development(开发和真机调试,有效期1年),push development(调试Apple Push Notification,有效期1年)
  2. 发布证书: app store证书,ad hoc证书(有效期3年), push Production(发布时使用的push证书,有效期1年)

常用证书的到期和移除影响

  1. app store证书:如果会员有效,则不影响线上app,只是不能上传新的
  2. ad hoc和企业证书:不能运行

不对称加密

私钥: 自己保存

公钥: 外部使用

  • 场景
  1. A私钥签名(加密)发送到B公钥解密,B可以确认发送者的身份是否为A(所以才叫签名)
  2. A公钥加密发送到B私钥解密,保证数据安全

苹果签名的方式为场景1,build过程中签名,Certificate是公钥,在使用钥匙串制作证书时,实际是通过上传本地生成的公钥,由苹果生成公钥证书///// 没有找到相关文档

开发设备迁移

场景:在使用新的设备开发且使用的是原来的开发者账号
导出后的文件同时包含了生成.ipa和开发者账号的信息


image

App ID

Profiles(描述文件)

该文件描述了生成.ipa所需要的各种资源:证书,App ID,需要安装的设备,是为了方便配置的描述文件。

Devices

在测试时,需要添加测试设备,如果debug直接安装,则xcode会自动注册UDID。需要注意的是,删除设备只能在新的membership year时进行,也就是说在新的membership year如果添加了新设备,就不能再删除设备了(不能删除设备,表示服务器记录的可以添加的数量不变,在开发者中心网站,是可以删除的,只不过剩余添加设备的数量不会增加)。

层级结构

  1. Certificates是app打包,开启苹果相关服务所需的证书
  2. App ID包含了app需要的各种苹果服务
  3. Provisioning Profiles 包含了App可以运行的设备,开发者打包所需要的各种证书(push证书,app打包证书等),也就是包含了App ID和Devices

基本过程

  1. 注册开发者账号,并加入开发者会员,邀请开发者,并为开发者分配角色
  2. 根据app所需的功能配置各类证书
  3. 配置App ID,添加各项服务
  4. 配置provisioning profile,如果使用了automatic signing,不需要配置

xcode已经拥有了app需要运行的设备UDID和相关服务的证书,签名通过。*

automatic signing所做的事

Entitlement

包含app的权限(所需苹果服务)的文件。
具体请看

参考文章

上一篇 下一篇

猜你喜欢

热点阅读