iOS企業(yè)證書的發(fā)版這里就不多說了废岂。
由于app現(xiàn)在放在公司自己的服務(wù)器中祖搓,為了實(shí)現(xiàn)https的plist下載鏈接還特意把plist掛在了開源中國上。小公司湖苞,帶寬小拯欧,多用戶升級的時候給公司服務(wù)器帶來不小的壓力。所以最近工頭有把ipa掛在七牛上去的想法财骨,這樣就可以有效的緩解服務(wù)器的壓力镐作。
企業(yè)版分發(fā)的plist下載鏈接必須是https協(xié)議的,所以需要SSL證書隆箩。如果你公司沒有證書该贾,那么可以使用七牛。
接下來開始步驟:
1:使用xcode打包生成ipa文件(過程不多說)
2:登陸七牛(默認(rèn)你已有賬號摘仅,沒賬號請注冊)
3:登陸之后添加資源:
4:創(chuàng)建空間:
5:創(chuàng)建成功之后在資源列表中你可以看到你新創(chuàng)建的資源:
6:選中你新創(chuàng)建的資源名稱靶庙,然后選中內(nèi)容管理-->上傳文件(這里先上傳ipa文件):
7:上傳ipa文件成功之后查看文件的外鏈接,如圖:(你看到的鏈接可能并不是https的而是http的娃属,這里后面再說明)
8:復(fù)制ipa文件的外鏈六荒,接下來就是要上傳plist文件了,首先創(chuàng)建plist文件:
在plist文件的url中填寫你復(fù)制的ipa的外鏈矾端。其他的只需填寫bundle-identifier為你的項目的id即可掏击,title中填寫你app的名稱,其他的可不變秩铆。然后保存plist文件砚亭。
9:接下來就是上傳plist文件到七牛了,同ipa文件的上傳一樣殴玛,上傳成功后點(diǎn)擊外鏈接即可查看外鏈:
10:接下來是最重要的一步捅膘,因為你會發(fā)現(xiàn)你上傳的plist文件的外鏈接并不是https的,而企業(yè)版分發(fā)的plist下載鏈接必須是https滚粟。所以別急.先在查看內(nèi)容中保存默認(rèn)域名寻仗,然后選中你創(chuàng)建的空間名稱,你會看到頁面上有個“融合CDN加速域名”的title凡壤,點(diǎn)擊添加HTTPS域名:
好了署尤,此時你再去內(nèi)容管理中,點(diǎn)擊你之前上傳的plist文件查看它的外鏈接亚侠,你會發(fā)現(xiàn)它已經(jīng)是https的了曹体。
ok,https鏈接的plist文件已生成硝烂,復(fù)制鏈接箕别,在代碼中:
#warning 測試代碼
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
UIApplication *application = [UIApplication sharedApplication];
[application openURL:[NSURL URLWithString:[NSString stringWithFormat:@"itms-services://?action=download-manifest&url=https://你的plist外鏈接地址.plist"]]];
exit(0);
});
就可以升級了。
有時你會發(fā)現(xiàn),在你要升級版本的時候究孕,你雖然更換了ipa文件啥酱,但是plist文件地址所對應(yīng)的url的升級包并沒有變,或者你連plist文件中的url也更新重新上傳厨诸,但是你再次打開plist的外鏈你會發(fā)現(xiàn)plist的內(nèi)容并沒有修改镶殷。為此我忙活了半天不知道為什么。后來才知道這是由于七牛緩存的原因微酬,所以你每次要發(fā)版的時候绘趋,在你上傳完ipa文件的時候,最后能去刷新一下plist文件和ipa文件颗管,在個人看板中:
有個刷新預(yù)取得功能陷遮,復(fù)制ipa的鏈接或plist的外鏈到那里即可刷新(刷新是有次數(shù)限制的):
恩,刷新完時候你就可以愉快的升級了垦江。(緩存很啃爹帽馋,請慢慢摸索)。
最后奉上plist文件的源碼:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>ipa文件的外鏈比吭,這個外鏈可以不是https的绽族,也就是說http即可</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string></string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string></string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>你的bundleID</string>
<key>bundle-version</key>
<string>1.2.0</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string>App</string>
<key>title</key>
<string>app名稱</string>
</dict>
</dict>
</array>
</dict>
</plist>
ok,以上總結(jié)有什么不對或瞎扯的地方歡迎在下方留言中指出衩藤。
ps:無demo不文章吧慢,抱歉,真沒有demo赏表。