ipa如何通過網路進行安裝

来源:http://www.cnblogs.com/isaboy/archive/2016/08/04/ipa_ios_ota_install_on_the_air_https.html
-Advertisement-
Play Games

蘋果手機端應用,如果發佈的到Appstore上,往往比較複雜,周期也比較長,Over-the-Air是Apple在 iOS4 中新加的一項技術,目的是讓開發者能夠脫離Appstore,實現從自己的伺服器下載並安裝iOS應用。簡單地說,就是用戶只需要在Safari中點開一條鏈接,就能直接在主界面中安裝 ...


  蘋果手機端應用,如果發佈的到Appstore上,往往比較複雜,周期也比較長,Over-the-Air是Apple在 iOS4 中新加的一項技術,目的是讓開發者能夠脫離Appstore,實現從自己的伺服器下載並安裝iOS應用。簡單地說,就是用戶只需要在Safari中點開一條鏈接,就能直接在主界面中安裝App。

  在高版本的IOS上,plist必須要部署到https伺服器上,才能正常訪問。下麵用示例來介紹如何脫離AppStore來安裝IPA應用。

1 xcode打包ipa(app.ipa)

並上傳到可以公網訪問網路上,例如 http://yourwebsite.com/ipa/app.ipa可以訪問,如果是IIS伺服器,那麼需要配置mime類型支持.ipa下載,否則會提示錯誤。

  1. 打開IIS服務管理器,找到伺服器,右鍵-屬性,打開IIS服務屬性;
  2. 單擊MIME類型下的“MIME類型”按鈕,打開MIME類型設置視窗;
  3. 單擊“新建”,建立新的MIME類型;

    擴展名是:.apk MIMI類型是:application/vnd.android.package-archive

    擴展名是:.ipa MIMI類型是:application/iphone

配置好後,IIS重啟。配置成功再次訪問網址,會提示下載:

2 編寫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://yourwebsite.com/ipa/app.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.aruistar.cmcapp</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>cmcapp</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

plist文件必須放到https服務上,自己沒有架設,可以上傳到github上進行處理。plist中註意<string>http://yourwebsite.com/ipa/app.ipa</string>的配置。

2 創建一個ipainstall.html的頁面,代碼如下:

 1 <!DOCTYPE html>
 2 <html >
 3 <head>
 4     <title>ipa installed on the air</title>
 5     <meta charset="UTF-8">
 6     <style type="text/css">
 7     body{
 8         padding: 0;
 9         margin: 0;
10 
11     }
12     table
13     {
14         width: 100%;
15         border: solid 1px #999;
16         border-collapse:collapse;
17     }
18     table tr,table td
19     {
20         
21         border: solid 1px #999;
22         border-collapse:collapse;
23     }
24 </style>
25 </head>
26 <body>
27     <div style="font-size:70px; text-align:center; background-color:#999;height:160px;line-height:160px;">
28      無線安裝iOS應用
29     </div>
30     <div style="font-size:60px; text-align:center;">
31     <table>
32     <tr>
33     <td>序號</td>
34     <td>應用名稱</td>
35     <td>備註</td>
36     </tr>
37      <tr>
38     <td>1</td>
39     <td><a  href="itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/yourgithub/iosapp/master/manifest.plist">內部市場化</a></td>
40     <td>IOS</td>
41     </tr>
42     <table>
43     </div>
44 </body>
45 </html>

這裡註意的是,itms-services://?action=download-manifest&url不是預設的github上的網址,必須是原始文件的地址,一般是raw.githubusercontent.com開頭的。

這個網址,必須用蘋果safari進行訪問才能解析:

 

安裝成功後,打開app即可操作了:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • <form>表單 name 表單的名稱 action 表單的提交地址 target 打開方式 enctype MIME類型 method 表單數據提交方式,get:在url地址上面傳送參數到伺服器,post:在後臺傳送參數到伺服器 <label> label元素不會向用戶呈現任何特殊效果,不過它為鼠 ...
  • For迴圈九九乘法表 for迴圈是javascript中一種常用的迴圈語句,可以很好的解決在程式中需要重覆執行某些語句,利用for迴圈實現簡單的“九九乘法表”的效果: 讓迴圈從小到大,依次排序,並計算每次的結果,並用 table 使之排列出來。 代碼很少,相對很簡單,也都是基礎,通過簡單的迴圈實現這 ...
  • jquery學習筆記 1.環境搭建 進入官方網站獲取最新的版本 http://jquery.com/download/ ,這裡需要註意 jQuery 分 2 個系列版本 1.x 與 2.x,主要的區別 在於 2.x 不再相容 IE6、7、8 為移動端而優化,由於減少了一些代碼,使得該版本比 jQue ...
  • 一,效果圖。 二,工程圖。 三,代碼。 RootViewController.h RootViewController.m ...
  • 在上篇 Handler 原理分析和使用(一)中,介紹了一個使用Handler的一個簡單而又常見的例子,這裡還有一個例子,當然和上一篇的例子截然不同,也是比較常見的,實例如下。 實際運行這個例子,點擊Button之後,TextView文字內容會變成“I get Post Message”。為什麼會是這 ...
  • 作為一個完整的應用程式,數據存儲操作是必不可少的。因此,Android系統一共提供了四種數據存儲方式。分別是:SharePreference、文件存儲、SQLite、 Content Provider。對這幾種方式的不同和應用場景整理如下。第一種: 使用SharedPreferences存儲數據 適 ...
  • # 介紹1、官方文檔寫法```objcstatic AccountManager *DefaultManager = nil; + (AccountManager *)defaultManager { if (!DefaultManager) DefaultManager = [[self allo... ...
  • Scene Kit 是Apple 向 OS X 開發者們提供的 Cocoa 下的 3D 渲染框架。 Scene Kit 建立在 OpenGL 的基礎上,包含瞭如光照、模型、材質、攝像機等高級引擎特性,這些組件都是面向對象的,你可以用熟悉的 Objective-C 或 Swift 語言來編寫代碼。假如 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...