下载方式安装到设备(mac)

通过下载方式安装到设备
通过下载安装的方式集成app到移动设备,实际就是通过了itms-services协议来实现的,这种方式主要应用于iOS 企业应用的无线部署。
具体步骤如下:
1.配置plist文件
plist文件中包含了ipa包的下载安装路径和app的配置信息,基本的设置如下
<span class="pun" style="color: rgb(102, 102, 0);"><?</span><span class="pln" style="color: rgb(0, 0, 0);">xml version</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="str" style="color: rgb(0, 136, 0);">"1.0"</span><span class="pln" style="color: rgb(0, 0, 0);"> encoding</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="str" style="color: rgb(0, 136, 0);">"UTF-8"</span><span class="pun" style="color: rgb(102, 102, 0);">?></span>
<span class="dec" style="color: rgb(102, 0, 102);"><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"></span>
<span class="pln" style="color: rgb(0, 0, 0);">	</span><span class="tag" style="color: rgb(0, 0, 136);"><plist</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(102, 0, 102);">version</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(0, 136, 0);">"1.0"</span><span class="tag" style="color: rgb(0, 0, 136);">></span>
<span class="pln" style="color: rgb(0, 0, 0);">	</span><span class="tag" style="color: rgb(0, 0, 136);"><dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">		</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">items</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">		</span><span class="tag" style="color: rgb(0, 0, 136);"><array></span>
<span class="pln" style="color: rgb(0, 0, 0);">			</span><span class="tag" style="color: rgb(0, 0, 136);"><dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">				</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">assets</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">				</span><span class="tag" style="color: rgb(0, 0, 136);"><array></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">						</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">kind</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">						</span><span class="tag" style="color: rgb(0, 0, 136);"><string></span><span class="pln" style="color: rgb(0, 0, 0);">software-package</span><span class="tag" style="color: rgb(0, 0, 136);"></string></span>
<span class="pln" style="color: rgb(0, 0, 0);">						</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">url</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">						</span><span class="tag" style="color: rgb(0, 0, 136);"><string></span><span class="pln" style="color: rgb(0, 0, 0);">http://xxx.ipa</span><span class="tag" style="color: rgb(0, 0, 136);"></string></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"></dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">				</span><span class="tag" style="color: rgb(0, 0, 136);"></array></span>
<span class="pln" style="color: rgb(0, 0, 0);">				</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">metadata</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">				</span><span class="tag" style="color: rgb(0, 0, 136);"><dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">bundle-identifier</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><string></span><span class="pln" style="color: rgb(0, 0, 0);">com.xxx.xxx</span><span class="tag" style="color: rgb(0, 0, 136);"></string></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">bundle-version</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><string></span><span class="pln" style="color: rgb(0, 0, 0);">1.0.0</span><span class="tag" style="color: rgb(0, 0, 136);"></string></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">kind</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><string></span><span class="pln" style="color: rgb(0, 0, 0);">software</span><span class="tag" style="color: rgb(0, 0, 136);"></string></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><key></span><span class="pln" style="color: rgb(0, 0, 0);">title</span><span class="tag" style="color: rgb(0, 0, 136);"></key></span>
<span class="pln" style="color: rgb(0, 0, 0);">					</span><span class="tag" style="color: rgb(0, 0, 136);"><string></span><span class="pln" style="color: rgb(0, 0, 0);">xxx</span><span class="tag" style="color: rgb(0, 0, 136);"></string></span>
<span class="pln" style="color: rgb(0, 0, 0);">				</span><span class="tag" style="color: rgb(0, 0, 136);"></dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">			</span><span class="tag" style="color: rgb(0, 0, 136);"></dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">		</span><span class="tag" style="color: rgb(0, 0, 136);"></array></span>
<span class="pln" style="color: rgb(0, 0, 0);">	</span><span class="tag" style="color: rgb(0, 0, 136);"></dict></span>
<span class="pln" style="color: rgb(0, 0, 0);">	</span><span class="tag" style="color: rgb(0, 0, 136);"></plist></span><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;">
</p>
其中需要注意的是,metadata里的bundle-identifier和bundle-version信息需要和所安装的ipa包的内容一致,不然可能导致无法安装成功。
2.配置下载链接
简单编写一个页面,可以通过这样的形式进行下载
<span class="pln" style="color: rgb(0, 0, 0);">itms</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">services</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="com" style="color: rgb(136, 0, 0);">//?action=download-manifest&url=https://xxx/manifest.plist</span>
把以上内容加到一个html页面的href中即可,当打开plist文件时,移动设备就会下载ipa包并进行安装。其中itms-services://?action=download-manifest&url=就是使用和在itunes里中安装一样的方式来进行的。
需要注意的是,在ios7.1以上的版本中,这个url必须是以https协议的形式进行访问,否则将会提示因证书无效无法安装应用程序。也就是说,我们需要将plist文件放置在一个https的服务上来进行访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值