头像

不通过App Store实现ios应用分发下载安装

发布时间:2018-05-12 14:32:09

发布作者:admin

3705

其实这种安装方式是利用企业证书签名app的部署方式来安装程序,直接在ios设备上安装,严格来说其实是不符合apple的相关规定的,因此一般只用于内部测试下载安装,不建议使用这种方式来进行最终的应用分发。下面具体介绍一下实现方式。准备的文件主要是三个:

1、应用程序 后缀(.ipa) 文件(使用了企业级预置描述文件);

2、清单 (后缀.plist) 文件(xml格式的清单描述文件);

3、网页(后缀.html)文件(引导用户安装的界面);

首先APP上传到服务器有一个下载地址,比如:http://youdomain/app.ipa

然后部署.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>http://cloud.189.cn/download/client/iOS/cloud189_1.1.1.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>请填上你的开发者证书用户名</string>
                <key>bundle-version</key>
                <string>版本</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>请填上标题</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>
需要注意的是从ios7.1开始,http推送plist已经不能用了,只能使用https推送,因此访问这个文件的地址必须是https开头的

最后介绍如何下载安装应用,使用的是itms-services:协议

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

接下来只要在网页(html)文件中加入

<a href="itms-services://?action=download-manifest&url=https://plist文件的地址">安装</a>

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

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


相关文章:
  1. Linux下PureFtpd的基本安装使用与超时问题解决
  2. swoole 服务端heartbeat_check_interval心跳检测 客户端 swoole_timer_tick 发送心跳包 这里只是个demo参考
  3. Linux下编译安装MariaDB
  4. PHP xdebug 各个版本配置