itemServices 协议
itemServices 是苹果推出的一款协议.基于这款协议,我们在本地部署一个服务器,将 ipa 包存放到本地服务器.然后,测试人员只要通过 iOS 测试设备的 Safari 浏览器访问特定的地址,就可以通过内网更新 app
简单实现
1.准备工作
在进行功能实现以前,我们需要了解以下的准备内容
- 项目打包后的文件,使用企业分发方式打出的一个 xxx.ipa 包(如果选择 Development, 则只能使用注册过的设备进行内测,如果选择 EnterPrise 打包的话,不仅可以内测,还可以提供给外部人员使用);
- 一个 xxx.plist 文件,内容如下,生成成功以后使用 Xcode 查看是否能够成功打开;
<?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://xxxxxxxxxxxxxxxxxxx/xxx.ipa(ipa包在本地的存放地址)</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>app 的 bundleID</string>
<key>bundle-version</key>
<string>版本号</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>下载标题</string>
</dict>
</dict>
</array>
</dict>
</plist>
<!-- 也可以添加展示图片等其他内容 -->
- 由于 xxx.plist 文件的访问地址必须是 https, 我们需要将 plist 文件存放到 gitHub 上,所以还需要一个 gitHub 账号;
- 下载的测试机,部署的服务器需要连接同一个内网
2.过程实现
2.1 在 gitHub 上新建一个仓库,勾选Initialize this repository with a README
,便于创建文件
2.2 点击 code 创建一个 down.plist 文件,在里面写如上面的准备内容.提交之后,点击
raw
,就可以获取这个 plist 文件的 https 访问地址:https://raw.githubusercontent.com/账户名/仓库名/master/down.plist.
点击code创建一个down.pilst.jpg
2.3 根据上面获取到的 url, 生成下载的链接
itms-services://?action=download-manifest&url=[https://raw.githubusercontent.com/sun6762/down/master/down.plist]
2.4 搭建本机的服务器,将 IPA 包或者相关的展示图片存放在本地,参照链接文章:macOS - 搭建本地服务器
2.5 将2.3的生成的链接复制到测试机,通过 Safari 浏览器打开,点击后下载
网友评论