前言
本人公司开发的.ipa
发布于 AppStore 和自己的服务器上。但是自己却一直没时间利用公司的资源进行研究。现在赶紧趁热打铁,记录一下,以便以后查阅。
在此之前,在网上查阅了相关资料并整理了一下加以完善更正。
背景
网上说Xcode 6
之后版本导出企业.ipa
包需要手动添加.plist
文件,本人今天亲自测试了一遍,发现Xcode 7
之后又可以配置生成的。在这里我按照我的流程走一遍。
IPA打包
- 在工程中选择
Product
-Archive
进入打包界面 - 选择
Export
进入打包方式选择界面 - 选择
Save for Enterprise Deployment
选项,Next
-
选择对应的企业账号,然后继续即可
- 接下来是对安装设备的要求选择,默认选择所有设备。第二个选项是指定特定类型设备方可安装。我们使用默认第一项,Next
- 之后的界面是对应用的二次确认,确保APP配置准确无误。在窗口的左下方有一个
Include manifest for over-the-air installation
。该选项表示是否在生成.ipa
文件的同时生成.plist
文件,我们勾选上,Next
over-the-air
: OTA 是苹果在iOS4
中新增的一项功能,目的是让企业用户能够在脱离Apple App Store
的情况下通过网页无线发布 iOS 应用;简单来讲就是在Safari
中点击一个链接就可以在iPhone或iPad上下载并安装应用(目前很多越狱软件都是使用的这种发布方式)。 - 接下来配置
.plist
文件,填写完之后,Export导出.ipa
包和相应的.plist
文件(建议将生成的.plist
文件命名同APP名一致,方面后期管理)
构建网站
必备条件
需要购买一个苹果的企业版证书,价格$299/年。指南
-
网站需要支持HTTPS协议,用于访问下载
.plist
文件这里有两种办法:
- 一种是购买SSL证书或者免费申请SSL证书;
- 另一种是将
.plist
文件托管在第三方上面,利用第三方支持的HTTPS进行访问下载;
使用OSChina的代码托管。访问OSChina,添加一个项目;然后用git或svn客户端将.plist
文件提交到版本库中;最后在浏览器中访问项目中的.plist
文件,查看原始数据,即可获得plist的https下载地址。
步骤
1.将.plist
文件与.ipa
文件上传至服务器供用户访问
2.创建一个包含如下代码的网页,用户轻点 Web 链接后会下载.plist
文件,并触发下载和安装。
Install App
3.配置服务器MIME
类型
您可能需要配置 Web 服务器,让.plist
文件和.ipa
文件可正确传输。
对于
OS X Server
,请将MIME
类型添加到 Web 服务的MIME
类型设置:
- application/octet-stream ipa
- text/xml plist
对于微软的互联网信息服务器 (IIS),请使用
IIS Manager
在服务器的“属性”页面中添加MIME
类型:
- .ipa application/octet-stream
- .plist text/xml
【警告】撤销分发证书会导致使用该证书签名的所有应用失效。只有万不得已时才应撤销证书,比如确定专用密钥已丢失或确信证书已遭破解。
拓展区
关于无线清单文件(.plist
文件)
清单文件是一个XML plist 文件
,可供 Apple 设备用来从您的 Web 服务器上查找、下载和安装应用。清单文件由 Xcode 创建,使用的是您在共享用于企业分发的归档应用时所提供的信息。
以下栏是必填项:
-
URL
:应用 (.ipa) 文件的完全限定 HTTPS URL -
display-image
:57 x 57 像素的 PNG 图像,在下载和安装过程中显示。指定图像的完全限定 URL -
full-size-image
:512 x 512 像素的 PNG 图像,表示 iTunes 中相应的应用 -
bundle-identifier
:应用的包标识符,与 Xcode 项目中指定的完全一样 -
bundle-version
:应用的包版本,在 Xcode 项目中指定 -
title
:下载和安装过程中显示的应用的名称
样本清单文件(下面给出)还包含可选键。例如,如果应用文件太大,并且想要在执行错误检验(TCP 通信通常会执行该检验)的基础上确保下载的完整性,可以使用 MD5 键。
通过指定项目数组的附加成员,您可以使用一个清单文件安装多个应用。
示例 iOS 应用清单文件
items
assets
kind
software-package
md5-size
10485760
md5s
41fa64bb7a7cae5a46bfb45821ac8bba
51fa64bb7a7cae5a46bfb45821ac8bba
url
https://www.example.com/apps/foo.ipa
kind
display-image
needs-shine
url
https://www.example.com/image.57x57.png
kind
full-size-image
md5
61fa64bb7a7cae5a46bfb45821ac8bba
needs-shine
url https://www.example.com/image.512x512.jpg
metadata
bundle-identifier
com.example.fooapp
bundle-version
1.0
kind
software
subtitle
Apple
title
Example Corporate App
苹果官方相关文档
以无线方式安装企业内部应用
关于正确提取.plist
文件下载地址姿势
在评论区中,有朋友问及到关于.plist
文件的下载地址不正确问题,这里提供几种方式:
1、在自己的服务器部署.plist
时,直接提供服务器下载地址即可
2、将.plist
文件部署在github上时,可以在进入.plist
详细界面,点击RAW
按钮获取正确的地址
3、另外七牛也是一个不错的选择,我们可以将
.plist
文件上传到七牛上面,需要配置ssl证书。
部署下载页面方式
1、方式一:进入下载页面之后点击安装APP
按钮之后才能下载安装
应用名字
如果点击无法下载安装,请复制超链接到浏览器中打开
安装APP