关于iOS企业版应用发布

一、通过企业账号申请证书
  1 Certificate Signing Request (CSR)文件
  在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”,如图1所示:


  —>填写前两项,并选择“存储到磁盘”,如图2所示:

  2 请求Certificate证书
  登录https://developer.apple.com —>MemberCenter—>Certificates, Indentifiers & Profiles—>Certificates,如图3所示:

  —>在图4页面,点击右上角加号,添加一个证书:

  —>选择In-House and Ad Hoc,点继续,如图5所示:

  —>如图6:Choose File选择第1步的CSR文件上传,点击generate生成cer证书,下载后双击安转(需要输入Mac的密码)

  3 App ID
  点击右上角的加号按钮,如图7所示:

  —>有两项需要填(如图8所示),name为描述可以随便填写.bundleID必须与APP的bundleID完全一致(如图9所示)。至于App Services根据自己需要选择。最后点击继续->submit->done


  4 生成最终的Provisioning Profile(企业版不需要device即iPhone的UDID,因此跳过)。
  选择Provisioning Profile->ALL,点击右上角加号:

  —>选择刚创建的AppID,点击继续,如图12所示:

  
  —>选择cer证书点击继续.图13 给最终生成的Profile文件命名方便自己识别。然后点击生成,并下载双击打开。至此证书环节完毕

二、打包ipa,手动生成plist
  这一步开始前,需要将手机插入电脑,并调试选项选择真机。(防止无法Archive),如果没有真机,可以选择iOS Device(这个没有测试)。
  1 打包ipa
  1.1 Edit scheme
  用Xcode打开对应APP。Product->Scheme->Edit scheme,填写scheme name如图14所示

  1.2 选择对应证书,即刚才生成的证书,如图15所示:

  1.3 归档,Product->Archive,并按图16,图17操作:


  完成之后会生成一个ipa包。
三、发布APP

要发布还必须有一个plist文件,在Xcode6之前会自动生成一个plist文件,但是Xcode6之后需要我们自己创建plist,文章最后提供一个plist模板,复制并重命名为plist后打开根据提示操作即可.图18为plist的截图,可以看到有三个URL,分别存放ipa,大小图标。当用Safari打开plist时会根据填的URL来下载安装ipa,大小图标。


  那么plist放在哪里呢?它的URL是多少呢?苹果对plist存放地址有要求,必须是https的,如果没有https网站,我们可以把plist放在比如github 或者 OSChina上,具体可以自行搜索,用github发布iOS企业版应用。
然后我们在Safari中输入
itms-services:///?action=download-manifest&url=https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist
就可以安装了。

Safari操作的具体流程是:
1 Safari解析我们输入的那一串字符串,找到plist文件
2 根据plist文件里面提供的信息下载ipa包,还会访问大小图标

我在发布公司企业应用的时候,遇到问题,如何通过二维码扫描,然后直接用Safari打开。我这边的做法是,通过建立一个html,让它页面在加载的时候,自动加载上面的链接。只需要把这个html放到公司服务器上,然后把这个html的访问地址做成二维码就可以了。

HTML源码如下

<!DOCTYPE html>
<html lang="zh">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8' />
<title>
应用名
</title>

<style type="text/css">
    .installBody{
        text-align: center;
        margin-top: 300px;
        font-size: 3rem;
    }
</style>

<script>
function load()
{
function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) {
        return "Opera"
    }; //判断是否Opera浏览器
    if (userAgent.indexOf("Firefox") > -1) {
        return "FF";
    } //判断是否Firefox浏览器
    if (userAgent.indexOf("Chrome") > -1){
  return "Chrome";
 }
    if (userAgent.indexOf("Safari") > -1) {
        return "Safari";
    } //判断是否Safari浏览器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
        return "IE";
    }; //判断是否IE浏览器
}
    //以下是调用上面的函数
var mb = myBrowser();
if ("Safari" != mb) {
    alert("请使用Safari打开此页面");
}
    window.location.href="itms-services:///?action=download-manifest&url=https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist";
}
</script>
</head>
<body onload="load()">
<div class="installBody">
<p >
    请点击右上角,选择Safari打开此页面。<br/>
    <br/>
    点击安装后,回到桌面查看安装进度。
</p>
</div>
</body>
</html>

推荐阅读更多精彩内容