iOS实现OTA无线安装App
引使用Apple说明:
您可以用 Apple Developer Enterprise Program(Apple 开发者企> 业级计划)开发 iOS 和 macOS 应使用,对于开发、测试应使用以及将> > 其分发给使用户,此计划提供了完整的流程。您可以通过将应使用托管> > 在您创立的安全网站服务器上来分发应使用,或者通过用移动设施管> > 理 (MDM) 处理方案或者其余应使用管了解决方案来进行分发。
参考链接: Apple – 创立企业内部应使用
一、概念详情
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张)尺寸:512×512、57×57 |
三、生成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、获取57×75、512×512图片链接
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 | .57×57 图片地址 |
full-size-image | https://coding.net/u/richluisx/p/talent-shop/git/raw/master/talent-logo.57x57.png | .512×512 图片地址 |
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
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » iOS实现OTA无线安装App