您的位置:首页 > 移动开发

iOS:苹果企业证书通过网页分发下载安装app

2017-05-31 08:20 501 查看
iOS:苹果企业证书通过网页分发安装app

      苹果的企业级证书发布的应用,是不用设备授权即可直接安装,并且不限设备上限。为了方便分发,苹果有协议实现通过网页链接直接下载安装企业级的应用。
      基本的原理就是在生成企业证书授权的ipa的同时,要生成一个对应的plist文件,plist文件中会配置ipa的下载地址、版本信息、Bundle ID 等信息,通过网页下载的时候其实下载的是这个plist文件,然后苹果通过自己的协议根据plist文件的配置信息去自动的下载安装app。这样就可以将这个网址链接发给用户,非常方便。

1.ipa和plist的生成步骤:

选择外置设备选项(实际有无设备无关),将程序Archive。

选择Ad-Hoc用于分发。

选择自己的企业级证书。

这个地方是生成plist文件的步骤(找了好久才找到。。),注意红框的里面的选择框,就可以弹出下面的信息。这里只需要填入ipa的下载地址,和ipa的名字就可以了~~。其余信息只要在工程里设置好了就会自动生成。

2.构建网站
将这些项目上传到您网站上已鉴定的用户可以访问的区域:

应用程序 (.ipa) 文件

清单 (.plist) 文件

您的网站设计可以像用来链接到清单文件的单个页面那么简单。当用户轻按 Web 链接时,清单文件会被下载,并触发它所描述的应用程序的下载和安装。

首先要写一个html网页文件,通过网页文件来访问
这个方法需要写两个文件:
1. 一个HTML网页文件。例如:
<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="UTF-8">
    <title>lhoa_ios</title>
    <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
<script type="text/javascript">
function doLocation(url)
{
  var a = document.createElement("a");
  if(!a.click) {
    window.location = url;
    return;
  }
  a.setAttribute("href", url);
  a.style.display = "none";
  document.body.appendChild(a);
  a.click();
}
</script>
  </head>
  <body> 
<script type="text/javascript">
doLocation('itms-services:///?action=download-manifest&url=https%3A%2F%2Fapp.lxxxx%2Fxxx.plist');
</script>
  </body>
</html>
然后将html文件放到服务器,通过访问html文件去解析plist文件,再通过plist文件下载ipa包。(红色URL是服务器上plist文件路径变更时改动的地方,其他地方不动)。
2. 一个应用程序描述plist文件。
以下是一个示例链接:

Install App

请勿添加归档的应用程序 (.ipa) 的 Web 链接。载入清单文件时,设备会下载该 .ipa。虽然 URL 的协议部分是 itms-services,但 iTunes Store 并不参与此过程。

以下服务器配置有服务器管理员配置,我们不做要求
设定服务器 MIME 类型

您可能需要配置您的 Web 服务器以便正确地传输清单文件和应用程序文件。

对于 OS X Server,将以下 MIME 类型添加到 Web 服务的“MIME Types”(MIME 类型)设置中:

application/octet-stream ipa

text/xml plist

对于 IIS,使用 IIS Manager 在服务器的“属性”页面中添加 MIME 类型:

.ipa application/octet-stream

.plist text/xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: