今天使用蒲公英给别人发测试 APP(一个游戏的重签名包) 的时候被封禁了,在寻找其他的分发方法的时候顺便也探讨了下蒲公英的这个 app 分发机制.
1.OTA 概念
OTA 即 Over-the-Air,是 Apple 在 iOS4 中新加的一项技术,目的是让开发者能够脱离 Appstore,实现从服务器下载并安装 iOS 应用。 用户只需要在 iOS 设备的浏览器中,打开itms-services://协议链接,就可以直接安装App。(注意:此处的安装是指,个人账号需要注册设备,企业账号无需注册设备)
2.所需资源
-
- ipa 包
- 企业账号签名包,用户只需信任企业开发者就能安装
- ad hoc包,需要描述文件中包含的设备才能安装
-
- manifest.plist
-
- icon文件,(2张)尺寸:512x512、57x57 (不重要)
-
- 一个简单的 html 静态页面
manifest.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>xxx.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>xxx/icon-57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>xxx/icon-1024.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>xxx.xxx.xxx</string>
<key>bundle-version</key>
<string>1.0.x</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>xxxx</string>
</dict>
</dict>
</array>
</dict>
</plist>
复制代码
字段 | 描述 |
---|---|
software-package | ipa 文件所在地址 |
display-image | 图标缩略图 |
full-size-image | 图标全尺寸 |
bundle-identifier | 包名 com.xxx.xx |
bundle-version | 版本 1.0.x |
title | 应用名 |
静态 html 页面 页面长啥样不重要,重要的是要有以下代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标题</title>
</head>
<body>
<a href="itms-services://?action=download-manifest&url=manifest.plist的地址">点击安装</a>
</body>
</html>
复制代码
3.操作步骤
如果 ipa 包本身小于100MB 的话,用 gitee 或者 github 也可以,有能力的可以自己搭建服务器. 我以腾讯云为例,新用户可以免费领取6个月的对象存储 COS
把我们之前准备好的文件都传到服务器上
正确顺序应该是先传 ipa 和两个图片,有了具体地址后填好 manifest.plist,上传,最后上传我们的 down.html然后在浏览器中访问 down.html,点击"点击安装"就可以了
4. 主意事项
-
- 正常导出 ipa 包的时候选择 adhoc,或者有企业开发者账号的打企业包
-
- 重签名的话要提前在苹果开发者中心生成 adhoc 的配置文件,使用这个配置文件重签名.