今天我們來講講蘋果超級(jí)簽名,對(duì)于新手感覺無從下手,那么我將分析利弊,希望能幫到你!
市面上,mac環(huán)境下的第三方簽名工具很多。但主要問題是需要mac環(huán)境的主機(jī),這個(gè)就很麻煩,我們這里不推薦!
還有呢就是通過Linux的環(huán)境來簽名,這個(gè)可用的工具較少,但主流的服務(wù)器都是用Linux來搭建的。這里我們主要來講講這個(gè)環(huán)境下,我們應(yīng)該怎么來簽名!
簽名你可能聽過比較有名氣的:Spaceship
Spaceship
優(yōu)點(diǎn)
????功能強(qiáng)大。幾乎所有你在瀏覽器上對(duì)Apple Developer Center 和 App Store Connect的操作都可以通過Spaceship命令解決。
????cookie有效期比較長。上面講了Spaceship的原理是模擬網(wǎng)頁請(qǐng)求,所以得先登錄(賬號(hào)、密碼),登錄后cookie保留在本地,有效期一個(gè)月,cookie失效前請(qǐng)求API不需要在登錄。
缺點(diǎn)
????需要登錄兩次。Apple Developer Center 和 App Store Connect 需要分別登錄,一方生成的cookie對(duì)另一方可能不管用。
????雙重認(rèn)證。如果你的開發(fā)者賬號(hào)開了雙重認(rèn)證,那登錄的時(shí)候還需要驗(yàn)證碼。驗(yàn)證碼這個(gè)東西使整體可用性大大降低。
對(duì)Window系統(tǒng)支持不友好。Spaceship是Fastlane的子工具,是Ruby開發(fā)的,需要Unix(Mac)環(huán)境。有人說Window上也可以跑Ruby。大家可以自行嘗試。
????非官方API。因?yàn)槭欠枪俜紸PI,所以后續(xù)如果蘋果有改動(dòng),可能就用不了了,得Spaceship作者及時(shí)更新才行。
App Store Connect API
優(yōu)點(diǎn)
????不需要登錄。App Store Connect API是利用私鑰生成token來訪問API的。不需要提供開發(fā)者賬號(hào)密碼,相對(duì)也更安全。
????REST API。App Store Connect API是REST API,這決定了其調(diào)用更方便,不受操作系統(tǒng)等限制。
????官方API。維護(hù)有保障,即使后續(xù)蘋果調(diào)整了網(wǎng)頁內(nèi)容,其相應(yīng)API也不會(huì)受影響。
缺點(diǎn)
功能受限。App Store Connect官方文檔列出來的API不多,其實(shí)還有很多操作蘋果都沒有提供相應(yīng)的API,這使得可用性降低,只能期盼后期蘋果能多開放一些API。
????token有效期較短。token有效期只有20分鐘,過期后得重新生成token。
不過整體來說,區(qū)別不大,App Store Connect API 的方式限制少
便于控制和擴(kuò)展!實(shí)際的使用中,訪問也不會(huì)很慢!這里我主要講App Store Connect API方式下,應(yīng)該怎么調(diào)用接口。
這里我推薦:https://juejin.im/post/6844904032268451848這篇文件寫的非常好,App Store Connect API 的接口都有說到。這里我就不詳細(xì)贅述了,但是里面沒有具體的編碼。
通過分析調(diào)試接口,我編碼了PHP方式的接口,全部調(diào)試通過,拿來就可以使用。喜歡的童鞋可以拿去
https://github.com/lansexin/iosapi
接口調(diào)用前,希望你準(zhǔn)備好以下:
1.一個(gè)可用的蘋果開發(fā)者賬號(hào)
2.請(qǐng)求App Store Connect API訪問權(quán)限。登錄:App Store Connect后臺(tái),“用戶和訪問” - “密鑰”,點(diǎn)擊“請(qǐng)求訪問權(quán)限”。只有agent才有權(quán)限。
2.生成密鑰。
申請(qǐng)?jiān)L問權(quán)限后,才會(huì)看到“生成密鑰”的按鈕,點(diǎn)擊“生成密鑰”,根據(jù)提示起個(gè)名字,完成后會(huì)產(chǎn)生一個(gè)“Issuer ID”和“密鑰ID”,這兩個(gè)參數(shù)后面生成token需要用到。下載密鑰,密鑰是一個(gè).p8的文件,注意:私鑰只能下載一次,永遠(yuǎn)不會(huì)過期,保管好,如果丟失了,去App Store Connect后臺(tái)撤銷密鑰,否則別人拿到也可以用。
接口說明:https://github.com/lansexin/iosapi
Apapi.php 該文件是接口初始化入口。需要傳遞上面生成的相關(guān)key和秘鑰p8
getCSR()????1.獲取CSR文件。
get_distribution_pem()? ? 2.獲取distribution_key.pem文件。
exportP12();????? ? 3.導(dǎo)出p12文件。
createProvision()?????4.生成profile,并下載mobileprovision文件。
里面的內(nèi)容都有注釋,希望對(duì)你有幫助!
有現(xiàn)成案例:www.aisignapp.com,可以測試