iOS开发者证书从入门到被误删除

引言

作为一个iOS开发者。。新手或者老手,有没有手欠的revoke过Member Center中的各种证书,删除过各种mobileprovision文件?

一、开发者证书

  • 第一种为$99美元的,用来上传appstore的账号:个人和公司没太大区别,公司账号能创建多个子账号,个人的不能
  • 第二种为$299美元的,不能用来上传appstore,用来进行企业分发,也就是常说的in-house证书

二、证书类型

  • iOS App Development                开发、真机调试用
  • Apple Push Notification service SSL (Sandbox)              开发阶段使用苹果的推送服务
  • App Store and Ad Hoc              上架和AdHoc方式发布时用
  • Apple Push Notification service SSL (Production)              上架后使用苹果推送服务
  • In-House              企业版发布,需$299才能拥有,还需邓氏编码

三、embedded.mobileprovision

我们都知道打包app之后,会把Provisioning Profiles文件打包到ipa中,解压ipa就会看见
名字为embedded.mobileprovision

1.查看方式

2..mobileprovision文件包含

  • AppId。每个app必须在Member Center中创建一个对应的AppId。规则不累述了。
  • 使用哪些证书。上面说了,不同类型的证书就代表了不同的发布方式,还包括一些功能的能否使用(比如APN)
  • 功能授权列表
  • 可安装的设备列表。对于AdHoc方式发布的app或者真机调试时,会有一个列表,这个列表里面是iOS设备的UDID,每台iOS设备出厂的UDID都不同,所以可以用来标识设备。可通过iTunes连接设备,或者http://dev.skyfox.org/udid/ 这里获取
    苹果的UDID设备唯一标识!

四、iOS设备如何验证app是否合法

  • 安装后会解压ipa到文件系统
  • 取出embedded.mobileprovision,通过签名校验是否被篡改过
  • 企业app(设置中的设备管理)https://ppq.apple.com 描述文件在线验证地址,
  • 其中有几个证书的公钥,其中开发证书和发布证书用于校验签名
  • BundleId
  • 授权列表
  • 校验所有文件的签名,包括Frameworks
  • 比对Info.plist里面的BundleId是否符合embedded.mobileprovision文件中的

五、误删除证书或者Provisioning Profiles文件

1.$99个人证书上架后被删除发布证书或者Provisioning Profiles文件

现象:app可以正常打开,但是尽量不要去删。。。

2.$99个人证书上架前审核时被删除发布证书或者Provisioning Profiles文件

现象:

解决办法:

3.$99个人证书上架后被删除推送(PUSH)证书或者Provisioning Profiles文件

现象:app可以正常打开使用,推送失效

解决办法:

4.$299企业级被删除发布证书或者profile文件

现象:所有已经安装的app不能打开,会闪退(有人说能打开。。。),在线itms-services协议不能安装

解决办法:只能是重新生成证书或者pp文件重新打包所有线上app发布了。。。还有就是可以写离职申请了。。。

 

如有错误,欢迎纠正与补充

你可能感兴趣的:(iOS开发者证书从入门到被误删除)