企业版应用发布流程

流程目录

  1. 申请299美元的企业开发者账号
  2. 创建发布证书
  3. 创建配置文件
  4. 创建ipa包和manifest plist文件
  5. 创建manifest plist文件

流程详解

1.申请企业账号

2. 创建发布证书

如图在证书处选择Proudtion,然后选择In-House and Ad Hoc。这里说一下Inhouse和Hoc的区别,Inhouse是没有设备限制的,而Ad Hoc最多只能一百台一般属于内部测试的时候使用。


然后continue,发现它提示我们创建一个csr文件。这其实是一个创建证书的请求文件。我们就按照提示的步骤创建


打开电脑端的钥匙串,然后按如图选择请求证书,填写证书名称和邮件地址,创建完毕。



然后提交进去,continue。这样就创建完毕了,然后download到本地双击后就会自动的添加到本地的keychain中。最后在xcode中的Build Setting - Code Signing中选择刚刚创建的证书,一般是debug选择开发证书,最后在xcode中的Build Setting - Code Signing中选择刚刚创建的证书,一般是debug选择开发证书,release选择发布证书。release选择发布证书。

3. 创建配置文件

创建配置文件,首先要为你的应用准备一个APP ID,很简单,在这里创建,填一下名字和bundle id。


然后选择最下面的distribution,选择inhouse,continue 然后选择刚刚创建的app id,继续Continue 选择刚刚的发布证书。继续Continue创建完毕。

4. 打ipa包

首先要配置打包环境,如图在1处选择刚刚创建的发布证书,2处选择刚刚创建的配置文件。


最后不要忘记在这里选择release模式。

然后开始打包,Product-Archive,打包的时候不要选择模拟器停。然后选择第三个,一路next,打包完毕。


5. 创建plist文件
plist文件是用来存放app的地址和相关信息,然后通过一个itms-services协议来指向这个plist。

创建一个下载页面,其中的html文件中加入这个

1
<a href="itms-services://?action=download-manifest&url=https://xxxx.com/myApp.plist" id="text">myApp</a>

这是前端页面的一个点击链接,url填写页面的url链接。

下面是我的plist文件,主要注意的有两个点一是url填写安装包的地址,二是bundle id一定要与项目中的一致,否则会出现无法安装。其实还有两个参数display-image和full-size-image 下载中显示的图片,我没有写。在网上也发现有人因为这个没写而出错,具体原因我也不太清楚。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
MobileCRM1.0.plist
chaoxi
Created by chaoxi on 15/09/27.
Copyright (c) 2015年 chaox. All rights reserved.
-->
<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>[INSERT URL HERE]</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>[YOUR BUNDLE ID]</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>CRM</string>
</dict>
</dict>
</array>
</dict>
</plist>

然后就可以把ipa和plist丢到服务器上去了,记住,一定要是HTTPS协议。