常常會遇到不少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
這就是蘋果各個證書的做用,而且已經形象化的表達出來了,但願有所幫助。