苹果手机端应用,如果发布的到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的页面,代码如下:

 <!DOCTYPE html>
<html >
<head>
<title>ipa installed on the air</title>
<meta charset="UTF-8">
<style type="text/css">
body{
padding: 0;
margin: 0; }
table
{
width: 100%;
border: solid 1px #999;
border-collapse:collapse;
}
table tr,table td
{ border: solid 1px #999;
border-collapse:collapse;
}
</style>
</head>
<body>
<div style="font-size:70px; text-align:center; background-color:#999;height:160px;line-height:160px;">
无线安装iOS应用
</div>
<div style="font-size:60px; text-align:center;">
<table>
<tr>
<td>序号</td>
<td>应用名称</td>
<td>备注</td>
</tr>
<tr>
<td>1</td>
<td><a href="itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/yourgithub/iosapp/master/manifest.plist">内部市场化</a></td>
<td>IOS</td>
</tr>
<table>
</div>
</body>
</html>

这里注意的是,itms-services://?action=download-manifest&url不是默认的github上的网址,必须是原始文件的地址,一般是raw.githubusercontent.com开头的。

这个网址,必须用苹果safari进行访问才能解析:

安装成功后,打开app即可操作了:

ipa如何通过网络进行安装的更多相关文章

  1. 简单的网络引导安装CentOS7

    实验室有几台电脑,里边装有windows,因为实验需求要给其装入CentOS7.但是这几个电脑无法用U盘引导系统的安装,虽然带有光驱,但是又不想麻烦去买碟片,所以便想到用网络引导系统的安装. 1. 软 ...

  2. Linux下的网络远程安装

    Linux下的网络远程安装 1.用RHEL6.5光盘安装第一台服务器 2.在第一台服务器上配置YUM服务器 先创建一个挂载 #mount #umount /dev/cdrom #mkdir /mnt/ ...

  3. Linux-TFTP之用于网络远程安装

    TFTP:Trival File Transfer Protocol,简单文件传输协议.是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务. ...

  4. [转帖]无网络离线安装 vs2017

    无网络离线安装 vs2017 公司电脑禁止,只有一个老的vs2017的安装目录(之前通过 --layout 安装时生成的离线文件).找了一圈百度,没能解决问题,最后,问bing,查微软的官方网站命令, ...

  5. Centos安装TFTP/NFS/PXE服务器网络引导安装系统

    客户端网卡要求支持以PXE启动,配置都在服务端进行,通过PXE网络启动安装系统流程: 客户端以PXE启动发送DHCP请求: 服务器DHCP应答,包括客户端的IP地址,引导文件所在TFTP服务器: 客户 ...

  6. 生成二维码、微信自定义分享到朋友圈、ipa不从应用商店安装

    生成二维码网址:http://www.liantu.com/ 微信自定义分享到朋友圈:http://www.cnblogs.com/memor-y/p/6728179.html ipa不从应用商店安装 ...

  7. CentOS8设置网络镜像安装源

    CentOS8通过引导盘+网络镜像镜像源安装系统,设置网络镜像安装源为: mirrors.aliyun.com/centos/8/BaseOS/x86_64/os

  8. virtualbox虚拟机上安装centOS的网络配置(安装centos时选择桥接网络)

    最近接触hadoop,需要在在Linux上面开发,所以我装了一个virtualbox虚拟机,在该虚拟机上面安装了一个centOS系统.linux系统是装好了,但是网络配置却另人头疼.我主要是想让宿主机 ...

  9. VMware Workstation CentOS-6.4-x86_64-minimal 配置网络以及安装JDK和tomcat

    1.配置网络(能够联网)转自:http://blog.sina.com.cn/s/blog_75ad10100101ma4c.html 1)vmware的网卡连接方式选择为桥接(bridged)不要用 ...

随机推荐

  1. maven的聚合与继承

    新建一个空的maven项目user-parent Pom.xml内容 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

  2. javascript的快速排序法

    在排序方式中,快速是比较普遍使用的,因为其速度快. 因为其是不断的递归,而且是根据基准点的左右两边开始递归,直到数组只有一个值的时候才返回. 这个基准点是自己定的. 一般取中间,比较好理解. < ...

  3. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  4. 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码

    在上一篇文章:机器学习之PageRank算法应用与C#实现(1)算法介绍 中,对PageRank算法的原理和过程进行了详细的介绍,并通过一个很简单的例子对过程进行了讲解.从上一篇文章可以很快的了解Pa ...

  5. Neutron 架构 - 每天5分钟玩转 OpenStack(67)

    前面我们讨论了 Neutron 的基本概念,今天我们开始分析 Neutron 的架构. Neutron 架构 与 OpenStack 的其他服务的设计思路一样,Neutron 也是采用分布式架构,由多 ...

  6. 统计Go, Go, Go

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!   结束了概率论,我们数据之旅的下一站是统计.这一篇,是统计的一个小介绍.   统 ...

  7. iOS开发之山寨版新浪微博小结

    在之前的博客IOS开发之新浪围脖中获取微博的内容是使用我自己的access_token来请求的数据,那么如何让其他用户也能登陆并获取自己的微博内容呢?接下来就是OAuth和SSO出场的时候啦.OAut ...

  8. 深入探讨:标签(Tag)的各种设计方案

    首先,标签(Tag)是什么? 我的理解:用来具体区分某一类内容的标识,和标签类似的一个概念是分类(Category),有一个示例可以很好的区分它们两个,比如人类分为:白种人.黄种人和黑种人(可以看作分 ...

  9. geotrellis使用(四)geotrellis数据处理部分细节

    前面写了几篇博客介绍了Geotrellis的简单使用,具体链接在文后,今天我主要介绍一下Geotrellis在数据处理的过程中需要注意的细节,或者一些简单的经验技巧以供参考. 一.直接操作本地Geot ...

  10. CSS中position的4种定位详解

    大家都知道,css中的position有4种取值,分别是static.fixed.relative.absolute. 详细解释: static:相当于没有定位,元素会出现在正常的文档流中. fixe ...