iOS實現OTA無線安裝App
引用Apple說明:
您可以使用 Apple Developer Enterprise Program(Apple 開發者企> 業級計劃)開發 iOS 和 macOS 應用,對於開發、測試應用以及將> > 其分發給使用者,此計劃提供了完整的流程。您可以通過將應用託管> > 在您建立的安全網站伺服器上來分發應用,或通過使用移動裝置管> > 理 (MDM) 解決方案或其他應用管理解決方案來進行分發。
一、概念介紹
1、什麼是ipa檔案?
IPA 既
iPhone application archive
,是 iOS 系統的軟體包,ipa 檔案都是使用蘋果的FairPlayDRM 技術進行加密保護的。每個 ipa 檔案都是 ARM 架構的可執行檔案以及該應用的資原始檔的打包檔案,只能安裝在 iPhone,iPod Touch 或 iPad 上。
ipa 檔案可以通過修改後綴名為 zip 後,進行解壓縮,檢視其軟體包中的內容。
2、什麼是OTA?
OTA 即
Over-the-Air
,是 Apple 在 iOS4 中新加的一項技術,目的是讓開發者能夠脫離 Appstore,實現從伺服器下載並安裝 iOS 應用。使用者只需要在 iOS 裝置的瀏覽器中,開啟
itms-services://
協議連結,就可以直接安裝App。(注意:此處的安裝是指,個人賬號需要註冊裝置,企業賬號無需註冊裝置)
3、如何通過OTA安裝?
OTA方式安裝,是通過 WebKit 解析連結中的
itms-services://
來實現的。例如:
<a href="itms-services://?action=download-manifest&url=https://coding.net/u/richluisx/p/talent-shop/git/raw/master/manifest.plist">點選安裝</a>
iOS 瀏覽器會去讀取 manifest.plist 中的資訊,如:iOS應用的名稱、版本、安裝地址等。
4、IPA打包方式
打包方式 | 開發者賬號型別 | 釋出App Store | 安裝裝置 | 證書 |
---|---|---|---|---|
App Store | 公司賬號、個人賬號 | YES | 無限制 | 釋出證書 |
Ad Hoc | 公司賬號、個人賬號 | NO | 100 | 釋出證書 |
Enterprise | 企業賬號 | NO | 無限制 | 釋出證書 |
Development | 公司賬號、個人賬號 | NO | 100 | 開發證書 |
5、Apple開發者賬號型別
賬號型別 | 價格 | 釋出AppStore | 安裝裝置數量 | 證書型別 |
---|---|---|---|---|
個人賬號 | $99 | YES | 100 | Ad Hoc, App Store |
公司賬號 | $99 | YES | 100 | Ad Hoc, App Store |
企業賬號 | $299 | NO | 無限制 | Ad Hoc, In House |
教育賬號 | $0 | YES | 100 | Ad Hoc, App Store |
二、分發App準備
專案 | 說明 |
---|---|
支援HTTPS的伺服器 | 本文選擇coding託管,也可以放到自己的伺服器,原理相同 |
ipa檔案 | 本文中使用企業簽名的.ipa檔案,蒲公英企業簽名服務 |
manifest.plist檔案 | 包含.ipa的下載地址、圖片地址 |
icon檔案 | (2張)尺寸:512x512、57x57 |
三、生成manifest.plist
1、開啟Xcode,Targets選中Generic iOS Device,然後選擇Product,選擇Archive打包。
2、進入Archives,選擇Export,下邊三種方法都可以選。(區別參考1.4)
3、勾選,包含 manifest.plist 檔案用於 OTA 安裝。
4、填寫相關資訊,生成 manifest.plist 檔案。(隨便填寫,後面可以修改)
5、選擇,自動管理簽名,然後匯出。
6、獲取到 manifest.plist 檔案。
四、上傳伺服器
本文使用 coding 伺服器來演示,也可以放到自己的伺服器中,原理相同。
1、將檔案推送到coding倉庫,目錄結構如下
2、獲取.ipa檔案下載連結
3、獲取57x75、512x512圖片連結
4、獲取manifest.plist連結,先選擇“原始資料”,然後“複製瀏覽器中的連結”
五、修改manifest.plist
1、將第四章的獲取的連結,以及App資訊等資料,替換到【xxxxx】
標記的對應內容中,然後重新推送到coding遠端倉庫。
<?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>【xxxxx】</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>【xxxxx】</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>【xxxxx】</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>【xxxxx】</string>
<key>bundle-version</key>
<string>【xxxxx】</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>【xxxxx】</string>
</dict>
</dict>
</array>
</dict>
</plist>
欄位參考:
欄位 | 值 | 說明 |
---|---|---|
software-package | https://coding.net/u/richluisx/p/talent-shop/git/raw/master/talent-shop.ipa |
.ipa 安裝包地址 |
display-image | https://coding.net/u/richluisx/p/talent-shop/git/raw/master/talent-logo.512x512.png |
.57x57 圖片地址 |
full-size-image | https://coding.net/u/richluisx/p/talent-shop/git/raw/master/talent-logo.57x57.png |
.512x512 圖片地址 |
bundle-identifier | com.xxx.xxx | 包標識 |
bundle-version | 1.2.1 | 版本號 |
title | 達人店 | 應用名稱 |
六、生成下載App的html
1、通過<a>
標籤,跳轉itms-services
協議連結的方式,來下載安裝App。
OTA安裝協議參考:
itms-services://?action=download-manifest&url=【替換為 manifest.plist 檔案地址】
示例程式碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>達人店App下載</title>
</head>
<body>
<a href="itms-services://?action=download-manifest&url=https://coding.net/u/richluisx/p/talent-shop/git/raw/master/manifest.plist">點選安裝</a>
</body>
</html>
七、安裝App
更多文章
相關推薦
iOS實現OTA無線安裝App
引用Apple說明: 您可以使用 Apple Developer Enterprise Program(Apple 開發者企> 業級計劃)開發 iOS 和 macOS 應用,對於開發、測試應用以及將> > 其分發給使用者,此計劃提供了完整的流程。您可以
IOS 7.1 線上安裝IPA(OTA無線釋出)整理
本地伺服器名:xampp 思路: 1.將生成的 .plist檔案放到dropbox中 複製分享連結 將連線寫入到index.html中 2.將ipa程式包 放在本地或者上傳到dropbox中 獲取連線 寫到.plist檔案中 3.將獲得到的分享連線 www.dr
[iOS] “是否允許“xxx”使用數據”,在iOS10之後,首次安裝App會彈框讓用戶授權,問題解決方案。
log 引導圖 決定 問題 應對 mil ima 移動 bsp 一、為什麽會彈 “是否允許使用數據”? 因為按照我們天朝的工信部要求,用戶再使用應用的過程中,如果要使用移動數據必須要用戶授權,其實這是好事,是為了保護用戶的流量或者話費不會無端的被扣除。所以蘋果在 iOS
iOS實現微信外部H5支付完成後返回原APP(多APP也可實現)
更改 開發 技術分享 服務器端 嚴重 圖片 正常 接口 width 看到微信最近放開了微信H5支付,公司決定把H5集成到多款APP上。下面記錄下了開發過程。 由於是微信新推出的支付方式,在網上搜索到的相關資料並不多,其中有一篇文章(點此跳轉)對我的整個開發過程起到了很大幫助
蘋果安裝app的另一種方式(通過itms-services協議,不通過AppStore,直接安裝IOS應用程式)
最近有一專案的要求是不通過蘋果商店,二是通過掃描二維碼進行下載app,當然了安卓手機是非常容易做到的,這裡主要講述蘋果的。以及兩個應用合併為一個的知識點。其實很多分發平臺就是這樣做的。比如:fir.im等等吧。那麼接下來我們開始我們的部落格內容。 其實分發平臺很多是獲取你上傳的app,會生成
iOS開發之資訊類App常用分類控制元件的封裝與實現(CollectionView+Swift3.0+)
今天部落格中,我們就來實現一下一些常用資訊類App中常用的分類選擇的控制元件的封裝。本篇部落格中沒有使用到什麼新的技術點,如果非得說用到了什麼新的技術點的話,那麼勉強的說,用到了一些iOS9以後UICollectionView新增的一些新的特性。本篇部落格所涉及的技術點主要有UICollectionView的
apple個人開發者證書無線釋出app的實現
http://blog.csdn.net/sing_sing/article/details/7489906 http://blog.csdn.net/sing_sing/article/details/7497794 http://blog.csdn.net/gtnc
關於iOS實現前臺,後臺,鎖屏或關閉app語音播報
公司要求像支付寶收款一樣,收到推送後實現語音播報功能,之前沒有做過,特此機會研究一下。 用到的技術點: 1.如果對語音要求不是特別高的情況下,用蘋果系統自帶的AVSpeechUtterance可以實現,也可以用訊飛的sdk。 2.之前公司用的是友盟推送,可以實現
iOS 使用Class-dump分析App內部實現
前言 前幾天在網上無意間看到了class-dump這個詞語,出於好奇就查了下,沒想到挺有意思的:簡單來說,就是可以將objc編譯後程序中的宣告資訊匯出檢視,有點類似於源程式的.h標頭檔案。 這個有什麼用呢?國內搜尋class-dump能看到一些使用class-dump匯出Apple Fra
iOS — IPA 包不經過APP Store直接釋出到網站供使用者下載安裝
最近公司有需求,要把IOS客戶端(IPA包)放到自己伺服器上供使用者下載,這樣就能跳過APP Store 的稽核。 準備條件 1.IOS 開發包 即IPA檔案。 2.Plist檔案。 3.https伺服器(IOS7.01之後必須https) 準備條件具備就可以開始接下來的操作了。 一.釋出一個網
iOS逆向----在模擬器上安裝APP
首先要確保這個app是simulator的包,如果是release的包,會由於CPU架構不同,導致啟動APP時閃退。simulator的包可以從下圖所示的方法拿到: 開啟終端 ➜ instru
Android&iOS:如何在外部啟動app(若有安裝APP, 則自動啟動app(使用 URL Schema), 若沒有安裝, 則詢問是不是到應用市場下載)
Android&iOS:如何在外部啟動app(若有安裝APP, 則自動啟動app(使用 URL Schema), 若沒有安裝, 則詢問是不是到應用市場下載) 原理:用瀏覽器開啟下載網頁html, 利用javascript進行條件判斷。 <head>
h5頁面喚起app(iOS和Android),沒有安裝則跳轉下載頁面
由於研究了之後,和同事溝通,找到一個地址進入,分別測試不同手機,機型,安卓進入安卓應用商店,ios進入app store ;所以直接貼了一個連結,即可。 下面方法,暫時沒用到,分享給需要的盆友。 COPY的方法如下,參考:------------------------
IOS企業版app部署到自己伺服器,不通過AppStore,在iOS裝置上直接安裝應用程式
<?xml version="1.0" encoding="UTF-8"?> itemsassetskindsoftware-packageurlhttp://192.168.100.71:8080/AhHxAppService/resources/platform/AHhaoXian.ipak
iOS:蘋果企業證書通過網頁分發下載安裝app
基本的原理就是在生成企業證書授權的ipa的同時,要生成一個對應的plist檔案,plist檔案中會配置ipa的下載地址、版本資訊、Bundle ID 等資訊,通過網頁下載的時候其實下載的是這個plist檔案,然後蘋果通過自己的協議根據plist檔案的配置資訊去自動的下載安裝app。這樣就可以將這個
iOS開發 UIScrollView制作APP引導頁
touch 技術 -s code 配置 target 視圖 需要 html http://jingyan.baidu.com/article/4dc40848a341dfc8d846f152.html 聽語音 | 瀏覽:4606 | 更新:2015-02-10 12:
qt-qml移動開發之在ios上開發和部署app流程簡單介紹
mod target auto 100% rda 自己 color ans ora qt5.3已經全面支持移動開發,除了mac,windows,linux。還支持ios,android,wp,meego等移動平臺,本教程是作者依據自己的經驗,從頭講怎麽樣在ios上公布
iOS 實現QQ界面
mov end 點擊 gre blog state 數據 track prop 應師傅要求編寫個QQ界面來不吝賜教下我的代碼問題。 編寫個QQ界面。有三個組,每一個組有人。並顯示在線不在線。 先看一下效果圖 這裏省了事由於我的圖片僅僅用了一張。假設要依據人的不同設置,
iOS 實現簡單的毛玻璃效果
rec 毛玻璃效果 實現簡單 ges 導航欄 view設置 with 技術 簡單 最近在整理導航欄的漸隱漸現效果,整理過程中偶然學會了圖片的毛玻璃效果實現,很簡單,不多說了,先上圖看看效果對比, 這是原圖, 這是加了效果後的,創建圖片的代碼就不上了,下面看下添加效果的代碼
值得向iOS學習的15個APP設計技巧
結合 減少 控件 系統設置 用戶信息 接下來 通知 保持 不同版本 iOS設計規範再閱讀 對比Google Material Design的設計規範,iOS有些大道至簡的味道,內容很少,但還是從中總(chao ) 結 ( xi ) 了一些設計技 ( tao)巧 ( lu )