不通過App Store實現ios應用分發下載安裝
最近公司的專案準備著手宣傳工作了,宣傳手冊上要印製App的下載地址二維碼,但是客戶端應用還未上線,需要一種臨時的方案解決應用分發下載問題,通常ios應用必須通過蘋果應用商店才能下載安裝,但是也可以看到一些應用沒有通過蘋果應用商店也能下載安裝,比如下面的兔兔助手。
兔兔助手_蘋果手機助手_兔兔助手越獄版_兔兔助手官網下載
直接掃碼或者點選手機頁面的下載連結就能下載安裝成功。
其實這種安裝方式是利用企業證照籤名app的部署方式來安裝程式,直接在ios裝置上安裝,嚴格來說其實是不符合apple的相關規定的,因此一般只用於內部測試下載安裝,不建議使用這種方式來進行最終的應用分發。下面具體介紹一下實現方式。
準備的檔案主要是三個:
- 1、應用程式 字尾(.ipa) 檔案(使用了企業級預置描述檔案);
- 2、清單 (字尾.plist) 檔案(xml格式的清單描述檔案)。
- 3、網頁(字尾.html)檔案(引導使用者安裝的介面)
我沒做過ios開發,因此.ipa檔案,.plist檔案怎麼得到,開發人員應該很清楚,這裡只介紹一下檔案部署的情況。
首先APP上傳到伺服器有一個下載地址,比如:http://youdomain/app.ipa
然後部署.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>http://cloud.189.cn/download/client/iOS/cloud189_1.1.1.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>請填上你的開發者證照使用者名稱</string>
<key>bundle-version</key>
<string>版本</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>請填上標題</string>
</dict>
</dict>
</array>
</dict>
</plist>
需要注意的是從ios7.1開始,http推送plist已經不能用了,只能使用https推送,因此訪問這個檔案的地址必須是https開頭的。你可以配置自己的伺服器支援https服務,也可以藉助第三方工具,這裡主要介紹使用第三方工具。
國外有很多網站都是支援https服務的,比如DropBox和Github,以Github為例,開啟任意開源專案中的一個檔案,切換到“RAW”
可以看到位址列顯示的是https,因此可以把app.plist檔案上傳到github生成一個https地址,不幸的是github在國內基本上屬於被牆的狀態,因此需要在國內找一個能提供https服務的儲存方式,這裡我推薦七牛雲端儲存,註冊成為標準使用者後,新建一個空間,上傳檔案
在空間設定裡可以開通https服務
這樣就能得到一個https://dn-yourdomain.qbox.me/app.plist的地址,說了這麼多,終於將.plist檔案部署好了,其實前面的.ipa檔案也可以上傳到七牛雲端儲存上供下載分流。
最後介紹如何下載安裝應用,使用的是itms-services:協議
itms-services://?action=download-manifest&url=https://plist檔案的地址
接下來只要在網頁(html)檔案中加入
<a href="itms-services://?action=download-manifest&url=https://plist檔案的地址">安裝</a>
這樣點選手機網頁上的“安裝”連結就能下載安裝應用了。至於這個頁面要做的多花裡胡哨,那就是前端美工的事了。
這裡有一段比較完整的示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>應用名字</title>
</head>
<body>
<h1style="font-size:80pt">如果點選無法下載安裝,請複製超連結到瀏覽器中開啟<h1/>
<h1style="font-size:100pt">
<a title="iPhone"href="itms-services://?action=download-manifest&url=https://dn-你的空間名字.qbox.me//你的.plist">點選下載 </a><h1/>
</body>
</html>
如果想手機進入頁面後直接下載安裝,可以在html 標籤的 head 標記中加入如下的Javascript程式碼。
<script>
var url ="https://plist檔案地址";
window.location ="itms-services://?action=download-manifest&url="+ url;
</script>
這樣就會自動提示下載和安裝了。
如果通過ios應用內安裝,程式碼大概如下所示
iOS:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://plist檔案的地址"]];
最後才是重點,我們不必這麼麻煩自己部署這麼多檔案,完全可以藉助第三方應用內測分發平臺,比較出名的有下面幾個:
應用測試釋出平臺
fir.im - 免費應用內測託管平臺|iOS應用Beta測試分發|Android應用內測分發
蒲公英 - 免費的應用託管平臺|App應用眾測分發
Pre.im - APP內測託管平臺首選 - Beta測試 - 免費的應用內測託管平臺
TestFlight Beta Testing - App Store - Apple Developer
https://developer.apple.com/testflight/
試用了一下蒲公英,真是相當方便,只要註冊一個帳號,將ipa檔案上傳,就會立即生成一個下載地址以及引導下載頁面
通過檢視api可以看到,蒲公英也是通過上面的方式安裝的,只是給開發者省了不少時間
如果你嫌蒲公英的下載引導頁面不好看,你可以自己做一個html頁面,直接是用上面的itms-services地址。
若有疑問,請掃描下方微信二維碼,關注我的微信公眾號,找我私聊!
參考資料
相關文章
- 一鍵解決App應用分發下載問題APP
- App Store上線“小程式” 無需下載應用即可至支付APP
- ios app上架App Store有哪些費用iOSAPP
- 暢聊app下載安裝-19188190807APP
- iOS匯入其他APP下載的檔案(用其他應用開啟)iOSAPP
- [iOS]5 分鐘實現抖音 APPiOSAPP
- 如何進行APP下載分發?APP
- 解讀App Store:當下應用轉移的價值在哪裡?如何順利避坑,實現應用轉移?APP
- iOS_實現類似蒲公英、fir等發包平臺 通過URL分發內測APPiOSAPP
- 《巫師之昆特牌》登陸iOS平臺!現在就可在蘋果App Store下載!iOS蘋果APP
- 實用貼:hadoop系統下載安裝教程Hadoop
- Sensor Tower:美區App Store非遊戲應用榜首下載量較2016年降低31%APP遊戲
- 前端實現iPhone繞過AppStore從瀏覽器安裝App前端iPhoneAPP瀏覽器
- TestFlight下載App,載入圖片失效。Xcode安裝App,圖片載入正常。APPXCode
- 下載安裝webstrom及啟用Web
- win10怎麼解除安裝app應用_win10如何解除安裝內建app應用Win10APP
- Sensor Tower:2019年雙11中國App Store購物應用總下載量創歷史新高APP
- 【轉載】App Inventor 開發BLE應用APP
- Google Play App Store API 採集谷歌安卓應用商城app的資料介面 - 2024最新GoAPPAPI谷歌安卓
- typora下載安裝以及notepad++下載安裝
- 下載量超過一億的流行應用被發現含有惡意模組
- 日本App Store突發死服 大量遊戲暫時無法下載APP遊戲
- 一個二維碼實現蘋果和安卓的多個應用市場安裝包自動分發蘋果安卓
- 應用黑名單以及靜默安裝的實現
- 蘋果 App Store 將下架數千款半活躍應用,開發者壓力山大蘋果APP
- 國內的套路行不通?那些App Store政策影響遊戲出海APP遊戲
- 2022年全球App Store各類應用下載量市場份額預測(附原資料表) APP
- 2026年全球App Store各類應用下載量市場份額預測(附原資料表) APP
- 如何實現 AppStore App 的自動下載APP
- [BUG反饋]下載開發版安裝出現錯誤
- ios端app讀取iphone檔案(通過itunes實現)iOSAPPiPhone
- iOS應用安裝失敗原因排查 – HTTPS SSL 教程iOSHTTP
- 疫情追蹤應用暗藏 CovidLock 勒索軟體下載安裝請留心
- Mac電腦軟體解除安裝應用App UninstallerMacAPP
- 下載安裝ApacheApache
- Newman下載安裝
- MySQL下載安裝MySql
- 下載安裝gitGit