ios开发经验iOS

iOS 使用 github 自建应用内测分发平台

2018-10-18  本文已影响112人  小白进城

应用内测分发平台

首先就是祭出好用的应用内测分发平台。

一般的应用,通过【蒲公英】和【fir.im】进行应用分发就可以了,使用简单,应用可管理,下载方式便捷等等。

下面我们介绍一下如何自行搭建一个分发平台

准备工作

应用程序 ipa 包:存储在服务器中,下载时需要
下载页面 html:内测用户访问下载应用包的入口
两张 icon 图片:57x57和512x512,应用下载时,系统显示
manifest.plist:其他命名亦可,是一份应用包的配置清单,其中包含了 ipa 包的下载地址
https 的服务器:主要是应为 manifest.plist 文件需要 https 支持,ipa包以及下载页面和icon图片存储在 https 或者 http 下都可以,这里使用 github 演示

实现原理

关键协议:itms-services

itms-services:///?action=download-manifest&url=你的 manifest.plist 文件地址

测试用户访问下载页面,当其触发 itms-services 协议,该协议指向了 manifest.plist 配置清单,该清单中包含了 ipa 的下载地址等信息,这样,系统即可触发安装事件。

github 配置步骤

1、新建 github 仓库,将两种尺寸的 icon、ipa 上传上去
2、编写 manifest.plist ,其中包含 icon 和 ipa 文件的地址,也上传到刚刚的 gitbub 仓库,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>ipa的下载地址</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>url</key>
                    <string>57*57尺寸的icon下载地址</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>url</key>
                    <string>512*512尺寸的icon下载地址</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>内测app的bundleidentifier</string>
                <key>bundle-version</key>
                <string>版本号</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>应用名称</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

3、新建另一个仓库,这个比较特殊,是用来显示应用下载地址用的,命名为 'git账号名.github.io',将下载页面 html 上传至该仓库中,html 例如:

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
            <title>你的应用名称</title>
    </head>
    <a style="text-align:center" href="itms-services:///?action=download-manifest&url=manifest.plist地址">点我下载</a>
</html>

网站地址为:https://git账号.github.io/

4、访问 https://git账号.github.io/下载页面 进行安装。

image.png

补充说明

1、github 上的图片地址:(ipa 的地址也如此获取)

image.png

2、下载页面的访问地址为:

https://git账号名.github.io/[路径/]下载页面

如:https://lolita0164.github.io/download.html

3、manifest.plist 文件在 xcode9 打包中就可以选择:

image.png image.png

这样,打包出来的文件中就包含了 manifest.plist 文件。

4、进入页面后直接下载安装,可以在html 标签的 head 标记中加入如下的Javascript代码

<script>
        var url ="https://manifest.plist文件地址";
        window.location ="itms-services://?action=download-manifest&url="+ url;
</script>

5、通过iOS应用内安装

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://manifest文件地址"]];

6、整个过程最关键的是 itms-services 协议

"itms-services://?action=download-manifest&url=manifest.plist地址

7、https 服务器

如果你有自己的可支持 https 的服务器,你可以将【准备工作】中的文件统统上传至服务器,只需暴露出下载页面给测试人员,因为 github 毕竟是公开性质的,测试包很容易被其他人拿到,传输速度也不够快;

或者你可以将 ipa 上传至其他平台,如七牛等等,修改一下 manifest.plist 中 ipa 地址即可。

上一篇下一篇

猜你喜欢

热点阅读