当前位置: 首页 > news >正文

ipa如何通过网络进行安装

  苹果手机端应用,如果发布的到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即可操作了:

 

相关文章:

  • 编译cdh的spark,使得支持spark-sql
  • Asp.net WebPages框架运行原理浅析(转)
  • 【Qt笔记】使用 QJsonDocument 处理 JSON
  • iOS - UILabel
  • html-table tbody加滚动条
  • vuex 学习笔记 01
  • Eclipse中web项目的默认发布路径改为外部Tomcat中webapp路径
  • 【NOIP】提高组2013 货车运输
  • AngularJS 用 Interceptors 来统一处理 HTTP 请求和响应
  • Ubuntu16.04 安装wine下的QQ
  • 1-2 ARM概况
  • 大数据美食——寻找地图上的美味
  • 使用python+hadoop-streaming编写hadoop处理程序
  • php ci框架整合银盛支付
  • SQL Server编程(06)触发器
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 230. Kth Smallest Element in a BST
  • Codepen 每日精选(2018-3-25)
  • Date型的使用
  • ES6语法详解(一)
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JavaScript DOM 10 - 滚动
  • Redux 中间件分析
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue脚手架vue-cli
  • 翻译:Hystrix - How To Use
  • 数据可视化之 Sankey 桑基图的实现
  • 微信小程序填坑清单
  • 详解移动APP与web APP的区别
  • 原生js练习题---第五课
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​Linux·i2c驱动架构​
  • #include到底该写在哪
  • #QT(TCP网络编程-服务端)
  • $.ajax()方法详解
  • (Matlab)使用竞争神经网络实现数据聚类
  • (待修改)PyG安装步骤
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (九)c52学习之旅-定时器
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)fock函数详解
  • (转)jQuery 基础
  • (转)Linq学习笔记
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .Net MVC4 上传大文件,并保存表单
  • .net实现客户区延伸至至非客户区
  • .net专家(张羿专栏)
  • /3GB和/USERVA开关