在iPhone上使用itms-services协议安装IPA安装包

企业证书打包的IPA安装包,怎么发布给用户安装使用呢?

环境准备

  • 支持Https的服务环境
  • 对应的plist文件
  • IPA安装包一个
1、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://.../xxx.ipa</string> 
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>xxx</string>
                <key>bundle-version</key>
                <string>1.1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>应用名称</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

注释:

1、发布IPA的版本号:
修改<key>bundle-version</key> 标签对应的 <string>1.1.0</string> 内容为新的版本号
备注:bundle-version :当前部署IPA的版本号

2、发布IPA的路径:
<key>url</key> 标签对应的 <string>xxx.ipa</string> 内容为新的路径。(如果路径、IPA文件名字没变,则不需要修改)
备注:url :存放IPA安装包的路径地址
2、部署plist文件与IPA安装包
  • 这里部署IPA安装包的地址,可以访问下载的既可以(没有硬性要求是https)。
  • 但是部署plist文件的地址必须是https,不然在iPhone设备上可能会导致“无法连接到xxx”这样的提示,导致安装失败。

如果当前的团队是没有HTTPS环境的话,那么也可以使用别人,如下:

七牛

Github

把上面准备好的 plist 文件 与 IPA 安装包往上面一丢,完事。

3、下载使用
  • 编写一个简单的HTML页面,手机通过访问这个页面点击下载安装
html页面.png

毕竟这不是教如何写一个精美的HTML页面,简单代码如下,这个页面也可以部署到同一个路径下

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Install</title>
    </head>
    <body>
        <p align=center>
          <font size="10">
            <a style="color:#69DEDA" href="itms-services://?action=download-manifest&url=https://.../xxx.plist">点击安装</a>
          </font>
        </p>
    </body>
</html>

注释:

* 我们可以看到  “href=” 里面是指向了 plist 文件的地址(而不是IPA安装包的地址)
* 最好还是使用iPhone设备自带的Safari浏览器打开该页面,点击下载。
  • 通过在我们的应用里面嵌套代码

在IPA安装包里面编写原生的下载代码

NSString *plistUrl = @"https://.../xxx.plist";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:plistUrl]];

OK,完成!

推荐阅读更多精彩内容