常常会遇到不少iOS开发朋友问这么个问题,为何个人程序在模拟器上跑是正常的,而到真机上测试,会报错。。。进而就无限的无奈,我发现不少时候都是证书惹的祸,可是问他们知道各个证书的做用么,不少人都摇摇头。好吧,其实在刚开始的时候,我也对这些证书表示无奈,苹果你搞毛啊,这么多证书,常常会出现,咦,这个这个证书没问题唉,而后各类开心,忽然某些时候又出现问题了,那就我靠吧。。web
其实苹果为了保护本身的系统,固然也为了使用者的信息安全,苹果才会搞出这么多证书,来保护本身也保护使用者。不少公司可能为了某些利益,或者私人开发者没有加入99刀的计划,就把机器越狱了,固然我不支持这一作法,由于这会破坏苹果的生态系统,对于越狱这一块本身没怎么搞过,因此没有发言权。不少人可能越狱后下载一些黑软件,这会致使苹果的安全系统受到威胁,好了话也很少说了,进入正题吧。安全
1.CSRapp
CSR的全拼是:Certificate Signing Request该证书是从mac里面的钥匙串生成的(怎么生成的就不累述了),它的做用其实就是告诉苹果我这有一台mac机器(myMac);测试
2.AppIDspa
AppID就是咱们在Member Center配置的应用程序的识别号,这个AppID就至关于告诉苹果,我这里有一个应用程序(myApp);orm
3.DeviceID(UUID)ci
这个其实就是咱们的设备了各类iPhone iPad iPod Touch,这个就是咱们把手机的UUID加入开发者计划里面的设备,怎么加入就不说了,它的做用就更前而易见了,就是告诉苹果,我这里有个须要跑程序的设备(myDevice);开发
4.PP受权文件it
PP的全拼是:Provisioning Profile,PP文件其实在member center里面生成的时候已经加入了CSR,AppID等综合生成的文件(怎么生成 度娘吧),他其实就是告诉苹果:我想 在个人myMac上面,链接到 myDevice ,跑myApp这个app。io
这就是苹果各个证书的做用,而且已经形象化的表达出来了,但愿有所帮助。