一般來說二拐,對于exe等文件來說服鹅,我們發(fā)布的時候,只需要編譯連接百新,就可以生成一個exe企软,然后就可以分發(fā)給使用者了。
但是這樣無法保證exe文件的完整性和可靠性饭望。
完整性:
安裝包沒有被別人篡改
可靠性:
包是是否是由使用者信任的開發(fā)者提供的
Appstore上的IPA包的驗證規(guī)則
Appstore上的下載的IPA包仗哨,是經(jīng)過蘋果的私鑰加密的文件,iOS設(shè)備下載完IPA包之后铅辞,使用iOS的公鑰進(jìn)行解密厌漂,如果能解密成功,說明IPA包是經(jīng)過了蘋果的審核和認(rèn)證的斟珊,這里已經(jīng)保證了IPA包的可靠性和完整性苇倡。
Develop、In-house囤踩、Enterprice模式下IPA包的驗證規(guī)則
如果開發(fā)者在開發(fā)app的時候旨椒,每次都要經(jīng)過蘋果的審核,然后再下載到手機(jī)上進(jìn)行調(diào)試堵漱,那就太浪費時間精力了不是嗎综慎?
蘋果工程師們想到了一個權(quán)限驗證機(jī)制
權(quán)限驗證機(jī)制
1.開發(fā)者首先要購買擁有開發(fā)權(quán)限的開發(fā)者賬號
2.本地生成一對秘鑰(如果team開發(fā),需要將私鑰分享給team其他人)
3.提交開發(fā)者公鑰給蘋果勤庐,在開發(fā)者后臺申請開發(fā)權(quán)限(包括device的uuid示惊,語音權(quán)限,錄音權(quán)限等)
4.蘋果
而開發(fā)者付費購買開發(fā)者賬號之后愉镰,便成為蘋果認(rèn)可的開發(fā)者米罚。那么這也僅僅是蘋果服務(wù)器端認(rèn)可的開發(fā)者。(iOS設(shè)備此時還沒有認(rèn)可)
總結(jié)一點:
蘋果將iOS設(shè)備對蘋果的信任轉(zhuǎn)化為iOS設(shè)備對開發(fā)者的信任丈探,而在這個機(jī)制中录择,蘋果又能控制開發(fā)者的權(quán)限,巧妙的實現(xiàn)了各種復(fù)雜控制