標籤:
使用八種牛雲端儲存解決方案ios7.1的app部署問題
一個.問題敘述性說明
開發完ios版本號碼的app。須要將.ipa檔案和.plist檔案打包上傳,供使用者下載,線上安裝。使用者安裝過程簡單描寫敘述例如以下:
首先通過手機瀏覽器safari或者掃描二維碼擷取到下載.plist的地址。
然後瀏覽器會自己主動跳轉到這個地址,下載、讀取.plist。(使用者跳轉的地址是.plist的。)這個過程,顯然使用http協議來下載.plist檔案。最後,iphone通過讀取.plist檔案裡配置的.ipa。來安裝.ipa檔案,來完畢ios版本號碼的app。
舉例。網站首頁中,下載.plist的代碼:
<ahref="itms-services://?action=download-manifest&url=http://www.ekwing.com/ekwing.plist"class="mobile-ios"></a>
可是。蘋果從ios7.1開始,使用者安裝app,須要使用https協議,來下載plist檔案。也就說。在安裝app的第一步,下載.plist檔案。須要使用https協議。
https協議例如以下:
這裡不具體描寫敘述https協議。HTTPS的信任繼承基於預先安裝在瀏覽器中的憑證授權單位(如VeriSign、Microsoft等)(意即“我信任憑證授權單位告訴我應該信任的”)。
因此。一個到某網站的HTTPS串連可被信任,若且唯若:
1. 使用者相信他們的瀏覽器正確實現了HTTPS且安裝了正確的憑證授權單位;
2. 使用者相信憑證授權單位僅信任合法的網站。
3. 被訪問的網站提供了一個有效認證,意即,它是由一個被信任的憑證授權單位簽發的(大部分瀏覽器會對無效的認證發出警告)。
4. 該認證正確地驗證了被訪問的網站(如。訪問https://example時收到了給“Example Inc.”而不是其他組織的認證);
5. 或者互連網上相關的節點是值得信任的,或者使用者相信本協議的加密層(TLS或SSL)不能被竊聽者破壞。
簡單描寫敘述,使用者使用https來下載.plist檔案。
則須要網站支援https協議。
支援https協議。除了服務端做一些配置外,還須要申請一個資料簽署憑證。
這個簽署憑證是由簽發機構簽發的。
不能自己配置產生。而申請簽署憑證須要一段時間。
而我們的目的僅僅是希望可以讓我們的app被使用者正常下載安裝就可以。
二.問題分析
解決該問題,就2個方法:
1.自己網站服務上配置https服務,併購買數位簽章認證以保證每種類型及其不同版本號碼的瀏覽器可以安裝了憑證授權單位頒發的。我們購買的資料簽署憑證。時間開銷7天左右。
2.將app檔案託管到支援https協議的第三方server上。
三.解決這個問題
使用七牛雲端儲存,能夠高速,免費解決問題。僅僅須要到http://www.qiniu.com/注冊一個帳號。
然後。開通https協議的網域名稱就可以。最後將.plist和.ipa檔案上傳到七牛雲端儲存上就可以。操作過程。很easy。
僅僅要注意幾點:
1. 開通一個http協議的網域名稱。和一個https協議的網域名稱。
如。尾碼名是.qiniudn.com的是支援http協議的網域名稱。
尾碼名是.qbox.me的是支援https協議的網域名稱。上傳.plist、.ipa到七牛雲端儲存。
2. 改動下載.plist檔案的地址,改動.plist檔案內容。
網站首頁,下載.plist地址改成上傳到七牛雲端儲存上的支援https協議(網域名稱尾碼名是.qbox.me)的下載連結地址。
<ahref="itms-services://?action=download-manifest&url=https://dn-ekwing.qbox.me/ekwing.plist"class="mobile-ios"></a>
3. 將.plist檔案內容中。.ipa的,改成七牛雲端儲存上的支援http協議(尾碼名是.qiniudn.com)
<string>http://ekwing.qiniudn.com/ekwing.ipa</string>
4. 總結,.plist的下載用https協議。而.ipa的下載用http協議就可以。改動完後,就可應用ios6、ios7、ios7.1進行測試了。
四. 感謝七牛雲端儲存
感謝七牛運儲存提供免費服務。
只是。眼下防盜鏈還不能用。
希望可以加上防盜鏈功能。
五. 因ios7.1安裝app。須要用https協議而提示的錯誤
無法安裝應用程式由於認證無效
<Warning>:[ERROR]: Cannot load non-https manifest URL:http://192.168.1.22/ekwing.plist
<Warning>:Could not load download manifest with underlying error: ErrorDomain=SSErrorDomain Code=128 "無法串連" UserInfo=0x1669d990 {NSLocalizedDescription=無法串連}
<Warning>: NSURLConnection/CFURLConnection HTTP loadfailed (kCFStreamErrorDomainSSL, -9813)
<Warning>: Could not load download manifest withunderlying error: Error Domain=NSURLErrorDomain Code=-1202 "無法串連到商店" UserInfo=0x166bc640{NSLocalizedDescription=無法串連到商店,NSLocalizedRecoverySuggestion=您仍要串連此server嗎?,NSLocalizedFailureReason=無法建立安全連線。請檢查“日期與時間”設定。,NSErrorFailingURLStringKey=https://192.168.1.22/ekwing.plist,NSUnderlyingError=0x165b37e0 "此server的認證無效。
您可能正在串連到一個偽裝成“192.168.1.22”的server,這會威脅到您的機密資訊的安全。
",NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef:0x166b83e0>,NSErrorFailingURLKey=https://192.168.1.22/ekwing.plist}
轉載。請註明原地址 http://blog.csdn.net/longxibendi/article/details/37601747
著作權聲明:本文部落格原創文章,部落格,未經同意,不得轉載。
使用八種牛雲端儲存解決方案ios7.1的app部署問題