iOS 企业版 打包

使用 iOS 企业版的证书发布应用可以跳过 Appstore,直接发布到自己的网站,让其他人在自己的网站上下载安装,但前提是要用苹果自带的Safari 浏览器才能下载安装,其他浏览器可能不识别itms-services协议。

一、制作证书文件

1.修改钥匙串的配置。

iOS企业版打包(转载)_ios

2.打开钥匙串, 点击钥匙串访问—证书助理—从证书颁发机构请求证书。

iOS企业版打包(转载)_ios_02

iOS企业版打包(转载)_服务端_03

iOS企业版打包(转载)_ios_04

3.保存证书,稍后会用到。


二、生成并安装证书

1.进入苹果开发者中心 ​​https://developer.apple.com​​,登录你的企业级账号。选中 Certificates—Production,如果没有证书就重新创建证书。

iOS企业版打包(转载)_钥匙串_05

iOS企业版打包(转载)_safari_06

2.点击下方的 continue,进入到CSR 文件介绍页面

iOS企业版打包(转载)_服务端_07

3.继续点击 continue,进入上传 CSR 文件的页面,也就是刚刚从钥匙串界面申请的钥匙串请求(CertificateSigningRequest)文件,点击 choose File,找到 CSR 文件并打开。

iOS企业版打包(转载)_服务端_08

4.点击 Generate生成证书,点击 Download后再点击 Done,完成证书申请。双击下载下来的证书文件就完成证书(.cer)的安装了。

iOS企业版打包(转载)_ios_09


三、添加企业级的应用

1.选中 Identifies—App IDs,如果没有 APP ID就点击加号创建新的 APP ID。

iOS企业版打包(转载)_下载安装_10

2.给你的 APP 填写App ID Description,Bundle ID填写你的工程里面的 Bundle ID ,其余的默认。

iOS企业版打包(转载)_服务端_11

iOS企业版打包(转载)_下载安装_12


3.点击 Continue,进入 APP ID 确认界面,点击 Submit提交应用后在点击 Done,完成 APP ID的创建。


四、生成Provisioning Profiles

1.选中Provisioning Profiles—Distribution,如果没有Provisioning Profiles就点击加号创建新的Provisioning Profiles。

iOS企业版打包(转载)_ios_13

iOS企业版打包(转载)_safari_14

2.选中 Distribution—In House,点击 Continue,为创建的Provisioning Profiles选择刚刚创建的 APP ID。

iOS企业版打包(转载)_ios_15

3.为当前创建的Provisioning Profiles选择对应的证书。

iOS企业版打包(转载)_下载安装_16

4.点击 Continue,给点前的Provisioning Profiles命名。

iOS企业版打包(转载)_ios_17

5.点击 Generate生成Provisioning Profiles,点击 Download 下载完成后点击 Done。

iOS企业版打包(转载)_钥匙串_18

6.双击下载下来的Provisioning Profiles文件完成安装。


五、打包并发布应用

1.在 Xcode中为 Target 和 Project 选择匹配的证书和Provisioning Profiles。

iOS企业版打包(转载)_服务端_19

iOS企业版打包(转载)_钥匙串_20

2.开始打包,选中 target和 iOS 设备,不能使用模拟器,如果没有 iOS 设备就选中Generic iOS Device。点击Product—Archive。

iOS企业版打包(转载)_下载安装_21

3.打包完成后进入Organizer面板,选择刚刚打完的包,点击面板右侧的 Export,选择Save Enterprise For Deployment选项。

iOS企业版打包(转载)_下载安装_22

iOS企业版打包(转载)_safari_23

4.点击 Next,选择对应的证书后再选择导出给什么设备使用。

iOS企业版打包(转载)_服务端_24

5.点击 Next,直到出现为当前 ipa 设置 plist 文件。注意:存放资源的地址必须遵守 https协议。

iOS企业版打包(转载)_ios_25

6.点击 Export,会生成一个ipa包和一个plist 文件,确保plsit文件中三个网址后面所接的资源名称和你要给服务端的资源的名称相同。如下图所示,你需要给服务端提供的4个文件分别 是:baidu.ipa,image.57x57.png, image.512x512.jpg 和生成的 plist文件。

iOS企业版打包(转载)_钥匙串_26

注:打完包后可以自己通过 iTunes 将 ipa 包安装到自己的 iOS 设备,如果能安装成功说明没有问题,如果不能安装说明之前的证书有问题,请按照上面的步骤重新申请证书等文件。

7.将这些资源传到用户可以访问的区域,当用户用 Safari 浏览器点击web链接时plist文件将会被下载下来,并且触发它所描述的应用被下载安装。以下是一个示例链接:

<a href="itms-services://?action=download-manifest&url=​​https://xxx.com/manifest.plist​​">Install APP </a>

请不要添加ipa 的 web 链接,当下载完 plist 文件后会自动下载该 ipa 包。虽然 URL 的协议部分是 itms-services, 但 iTunes 并不会参与此过程。


服务端的要求:

OS X Server 设置 MIME 类型:

application/octet-stream ipa

text/xml plist


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

.ipa application/octet-stream

.plist text/xml