描述文件服務器
前面的文章咱們已經介紹了簡單的應用簽名可是這種簽名方式並不能解決應用濫用的問題,因此蘋果又加了兩個限制.第一限制在蘋果後臺註冊過的設備才能夠安裝.第二限制簽名只能針對某一個具體的APP.而且蘋果還想控制App裏面的iCloud/PUSH/後臺運行/調試器附加這些權限,因此蘋果把這些權限開關統一稱爲Entitlements(受權文件).並將這個文件放在了一個叫作Provisioning Profile(描述文件)文件中.描述文件是在AppleDevelop網站建立的(在Xcode中填上AppleID它會代辦建立),Xcode運行時會打包進入APP內.網站
因此咱們使用CSR申請證書時,咱們還要申請一個東西!! 就是描述文件!!流程以下spa
這個描述文件裏面就是 能夠安裝的設備有哪些.. APP的ID是什麼.. 權限是些什麼!
在開發時,編譯完一個 APP 後,用本地的私鑰M對這個APP進行簽名,同時把從蘋果服務器獲得的 Provisioning Profile 文件打包進APP裏,文件名爲embedded.mobileprovision,把 APP 安裝到手機上.3d
咱們能夠利用$security cms -D -i embedded.mobileprovision命令查看Provisioning profile內容,這些Xcode建立的Profile文件都存放在~/Library/MobileDevice/Provisioning Profiles/目錄下調試
注意! 每次咱們新建項目其實會生成一個描述文件!選擇運行到手機上!! 咱們只須要編譯一下!在APP包裏面就能夠看到.
code
那麼爲了便於咱們查看信息! 咱們能夠經過Xcode來查看!!blog
固然,Provisioning profile自己也是經過簽名認證的,因此別想着你能夠更改裏面的東西來達到擴充權限設備的目的.只有老老實實的去網站向Apple申請一份權限更多設備更多的profile。資源
總體的流程開發
首先咱們總結一下剛纔的一些名詞rem
流程以下:
**APP簽名的數據
這裏對 App 的簽名數據保存分兩部分**
MachOView查看
至此關於iOS應用簽名的原理就介紹完了.下篇文章將介紹iOS應用重簽名技術.
因爲知識水平有限若有錯誤及不足,歡迎你們留言區評論指正.