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