七牛雲儲存實現iOS企業版分發
iOS企業證書的發版這裡就不多說了。
由於app現在放在公司自己的伺服器中,為了實現https的plist下載連結還特意把plist掛在了開源中國上。小公司,頻寬小,多使用者升級的時候給公司伺服器帶來不小的壓力。所以最近工頭有把ipa掛在七牛上去的想法,這樣就可以有效的緩解伺服器的壓力。
企業版分發的plist下載連結必須是https協議的,所以需要SSL證書。如果你公司沒有證書,那麼可以使用七牛。
接下來開始步驟:
1:使用xcode打包生成ipa檔案(過程不多說)
2:登陸七牛(預設你已有賬號,沒賬號請註冊)
3:登陸之後新增資源:
4:建立空間:
5:建立成功之後在資源列表中你可以看到你新建立的資源:
6:選中你新建立的資源名稱,然後選中內容管理-->上傳檔案(這裡先上傳ipa檔案):
7:上傳ipa檔案成功之後檢視檔案的外連結,如圖:(你看到的連結可能並不是https的而是http的,這裡後面再說明)
8:複製ipa檔案的外鏈,接下來就是要上傳plist檔案了,首先建立plist檔案:
在plist檔案的url中填寫你複製的ipa的外鏈。其他的只需填寫bundle-identifier為你的專案的id即可,title中填寫你app的名稱,其他的可不變。然後儲存plist檔案。
9:接下來就是上傳plist檔案到七牛了,同ipa檔案的上傳一樣,上傳成功後點選外連結即可檢視外鏈:
10:接下來是最重要的一步,因為你會發現你上傳的plist檔案的外連結並不是https的,而企業版分發的plist下載連結必須是https。所以別急.先在檢視內容中儲存預設域名,然後選中你建立的空間名稱,你會看到頁面上有個“融合CDN加速域名”的title,點選新增HTTPS域名:
好了,此時你再去內容管理中,點選你之前上傳的plist檔案檢視它的外連結,你會發現它已經是https的了。
ok,https連結的plist檔案已生成,複製連結,在程式碼中:
#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);
});
就可以升級了。
有時你會發現,在你要升級版本的時候,你雖然更換了ipa檔案,但是plist檔案地址所對應的url的升級包並沒有變,或者你連plist檔案中的url也更新重新上傳,但是你再次開啟plist的外鏈你會發現plist的內容並沒有修改。為此我忙活了半天不知道為什麼。後來才知道這是由於七牛快取的原因,所以你每次要發版的時候,在你上傳完ipa檔案的時候,最後能去重新整理一下plist檔案和ipa檔案,在個人看板中:
有個重新整理預取得功能,複製ipa的連結或plist的外鏈到那裡即可重新整理(重新整理是有次數限制的):
恩,重新整理完時候你就可以愉快的升級了。(快取很啃爹,請慢慢摸索)。
最後奉上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,以上總結有什麼不對或瞎扯的地方歡迎在下方留言中指出。
ps:無demo不文章,抱歉,真沒有demo。
相關文章
- 七牛雲物件儲存物件
- ThinkPHP之七牛雲儲存PHP
- 【七牛雲】儲存實施工程師工程師
- 快速使用七牛雲物件儲存物件
- 如何實現企業雲盤資料化儲存
- 企業儲存分級
- 七牛儲存使用筆記筆記
- 雲端儲存:阿里雲 和 七牛 的比較阿里
- Laravel 七牛雲 sdk 物件儲存 示例 上傳語音Laravel物件
- php實現七牛雲相關操作PHP
- 七牛雲馮立元:邊緣儲存的演進之路
- 圖片儲存-從七牛到 GithubGithub
- 雲端儲存服務企業就在企業雲盤
- 七牛雲端儲存--上海--後端開發工程師後端工程師
- 七牛雲端儲存-公有云儲存運營經理(上海)
- IOS企業版開發iOS
- iOS開發企業版ipa分發(In House模式)記錄iOS模式
- Editor.md For Laravel 5 (支援七牛儲存)Laravel
- 企業雲盤:為什麼說企業雲盤是企業儲存的首選
- 第一次使用七牛雲端儲存
- 螞蟻分類資訊系統 5.8 增加七牛雲端儲存外掛
- 七牛雲OSSUtil
- RxJava應用:實現七牛雲多圖上傳RxJava
- 聽七牛COO講雲端儲存:行業正轉向移動端行業
- 華為雲物件儲存OBS,助力企業高效解決儲存問題物件
- 七牛雲杜江華:讓雲 + AI 成為企業服務的標配AI
- 企業雲盤的作用不僅只是儲存
- PHP 利用 swoole 搭建一個七牛雲端儲存APIPHPAPI
- nodejs 使用七牛雲端儲存上傳檔案NodeJS
- 帶你玩轉七牛雲端儲存——高階篇
- 在七牛雲端儲存收穫工作的快樂
- springboot專案上傳儲存圖片到七牛雲伺服器Spring Boot伺服器
- 七牛雲儲存創始人:揭開GO語言的神祕面紗Go
- 企業資料儲存辦公企業雲盤是最佳選擇
- 企業資料儲存選擇Yotta企業雲盤更安全高效
- 七牛雲端儲存--北京研發中心招聘(Golang開發、測試開發、前端開發)Golang前端
- golang七牛雲操作Golang
- 儲存改寫企業IT資源現狀