您的位置:極速下載站→ 資訊首頁 → 系統(tǒng)教程 → iPhone技巧 → 怎么解決ios應用登錄不了的問題,你需要iOS超級簽名
時間:2019-08-19 14:35:16 作者:Bill 瀏覽量:65
怎么解決ios應用登錄不了的問題,你需要iOS超級簽名
蘋果對于企業(yè)分發(fā)證書的頻繁吊銷,代簽名行業(yè)也隨之迭代出了黑科技。即所謂的超級簽名。
超級簽名安裝流程演示
從整個安裝流程上來看,超級簽名少了在設置里面信任企業(yè)證書的步驟,體驗上要比企業(yè)分發(fā)更簡單和容易接受,同時分發(fā)價格也貴的離譜,不禁讓人好奇這新瓶里面到底裝的是什么酒。
今天就來幫大家解析一下其中的門門道道,以及這套機制的技術難點。
怎么解決ios應用登錄不了的問題,你需要iOS超級簽名 圖一
image
據(jù)說某分發(fā)平臺價格表,來源網(wǎng)絡,本人對圖片真實性不負責
簽名原理
簽名原理其實就一句話,使用了蘋果提供給開發(fā)者的Ad-Hoc分發(fā)通道,把安裝設備當做開發(fā)設備進行分發(fā)。
既然簽名用是 Ad-Hoc ,那么 Ad-Hoc 所具有的優(yōu)劣勢也一并繼承了下來:
優(yōu)勢:
直接分發(fā),安裝即可運行,不需要用戶做企業(yè)證書的信任操作
目前穩(wěn)定,不會有證書吊銷導致的業(yè)務風險(后續(xù)蘋果政策風險非常高)
缺點:
單開發(fā)者賬號的iPhone設備數(shù)量只有100個,導致分發(fā)成本非常高(99美元/1年/100個設備)
開發(fā)者賬號需要預先寫入安裝設備的UDID,在工具鏈不通的情況下,獲取用戶的UDID相對困難和繁瑣,而且手動寫入UDID不存在商用可行性,當然目前這個缺點被解決了
整體架構
接下來我們就看看整套機制是如何進行的:
怎么解決ios應用登錄不了的問題,你需要iOS超級簽名 圖二
整體架構
設備安裝描述文件后,會向服務器發(fā)送設備的UDID。
服務器收到UDID后,將UDID注冊到某個開發(fā)者賬號下。
再生成簽名用的描述文件,給IPA簽名。
然后iPA傳Server,使用itms-services方式讓用戶下載。
技術細節(jié)
使用配置文件獲取UDID
蘋果公司允許開發(fā)者通過IOS設備和Web服務器之間的某個操作,來獲得IOS設備的UDID(包括其他的一些參數(shù))。這里的一個概述:
在你的Web服務器上創(chuàng)建一個.mobileconfig的XML格式的描述文件;
用戶在所有操作之前必須通過某個點擊操作完成.mobileconfig描述文件的安裝;
服務器需要的數(shù)據(jù),比如:UDID,需要在.mobileconfig描述文件中配置好,以及服務器接收數(shù)據(jù)的URL地址;
當用戶設備安裝描述文件后,設備會回調你設置的URL,如果你的URL返回302跳轉的話,Safari瀏覽器會跳轉到你所給的地址;
Apple Developer Center 自動化工具
接下來的關鍵點就是如何在獲取到用戶的UDID之后,秒級完成注冊新的開發(fā)者設備+更新Provisioning Profile的。 這里我們需要借助開源工具(Spaceship):
怎么解決ios應用登錄不了的問題,你需要iOS超級簽名 圖三
image
Spaceship公開了Apple Developer Center的API,而且執(zhí)行速度比解析開發(fā)者Web頁面快兩個數(shù)量級,從而在非常短的時間內搞定Provisioning Profile。 這個框架解決了整套機制的關鍵問題,成為整個工具鏈的基石。其實某平臺早就完成了UDID獲取和應用簽名分發(fā)的技術儲備,只差這套API。
下面是解析開發(fā)者Web頁面和直接訪問API的速度對比圖:
SpaceshipRecording
image
Cool。。。。。! 非常棒!再次為Spaceship鼓掌
如何自動簽名封包
此處其實應該有一萬個解決方案,通過命令行腳本/Python腳本/或者其他第三方都能實現(xiàn)。
這里推薦使用 Sigh 這個框架來解決這個問題。