前言:

  在日常iOS软件开发过程中,大公司都会有自己的内部体验平台,主要利用的是企业开发者账号($299)的证书进行内部分发和内测。但是对于一般小型、创业型 企业来讲,很少会一开始就花费299刀(特别有钱的公司除外)去为内部几十号人的内测去购买企业账号。其实用$99的证书一样可以搭建少于100台机器的内部分发&体验平台。


详细步骤如下(简易分发方法):

一、既然是配置内部分发方案,入口点必须是在页面上,首先我们创建一个基本的HTML。

  由于App安装遵循itms-services:协议,假如我的APP名字为MyApp,入口HTML代码为:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1><a href="itms-services://?action=download-manifest&url=<span style="color:#ff0000;">https://appconfigFolderPath/MyApp.plist</span>”>安装MyApp</a></h1>
</body>
</html>



我们希望点击 安装MyApp 就可以安装我们的App。


iOS ad Hoc分发 ios 分发平台_分发


从上面的html代码中可以看到,其中主要的是 url=https://appconfigFolderPath/MyApp.plist 部分,不难猜测,iOS机器主要是通过解析协议上的文件MyApp.plist进行配置和安装的。接下来我们配置 MyApp.plist文件。



二、配置MyApp.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><span style="color:#ff0000;">http://appconfigFolderPath/MyApp.ipa</span></string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string><span style="color:#ff0000;">http://appconfigFolderPath/icon.png</span></string>
               </dict>
           </array><key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string><span style="color:#ff0000;">com.myapp.myapp</span></string>
               <key>bundle-version</key>
               <string>1.0</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string><span style="color:#ff0000;">子标题</span></string>
               <key>title</key>
               <string><span style="color:#ff0000;">主标题</span></string>
           </dict>
       </dict>
   </array>
</dict>
</plist>



其中标红的部分为需要自己修改的部分:

I、ipa包的路径

II、图标的路径

III、bundle id

IV、子标题(随便填)

V、主标题(跟名字保持一致)



三、从iOS7开始,该协议需要使用https进行打开和安装。可以看到我们在html中的url使用的是https开头。那么自然,我们需要在服务器上配置SSL证书。

SSL证书来源无非两种:

  I、花钱去注册SSL证书。(太贵,有钱的大佬除外)

 II、自己制作SSL证书。

制作完证书后,需要安装到iOS设备上,不然不信任的证书iOS是不会给你访问的。那么自然,我们可以将制作的证书也挂在HTML上供有需要的同事先安装证书、再安装APP。

那么假设生成证书名字叫做:App.crt

我们在HTML中配置如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1><a class="forTcss" name="安装证书" href="<span style="color:#ff0000;">http://appconfigFolderPath/App.crt</span>" target="_blank">1.安 装 证 书</a></h1>  
<h1><a href="itms-services://?action=download-manifest&url=https://appconfigFolderPath/MyApp.plist”>安装MyApp</a></h1>
</body>
</html>



每台机器第一次安装的时候。都先安装证书:


iOS ad Hoc分发 ios 分发平台_内测平台_02


点击安装,以后就可以通过页面安装 MyApp.ipa了。