如何为iOS设备创建分配式企业应用程序?
http://article.yeeyan.org/view/187048/177876
用户可通过App Store购买、下载和安装商业应用程序。但是,如果您开发的企业应用程序仅供自己的员工使用,那么这个应用服务必须附有苹果公司在“开发者企业计划”中发布的数码签署的证书。除此之外,你还需创建一个企业分配供应配置文件,允许设备可以使用这些应用程序。如果没有有效的供应配置文件,应用程序则无法打开。
如何为iOS 4设备创建分配式企业应用程序?用户可通过App Store购买、下载和安装商业应用程序。但是,如果您开发的企业应用程序仅供自己的员工使用,那么这个应用服务必须附有苹果公司在“开发者企业项目”中发布的数码签署的证书。除此之外,你还需创建一个企业分配供应配置文件,允许设备可以使用这些应用程序。如果没有有效的供应配置文件,应用程序则无法打开。
部署内部应用程序的步骤为:
·注册苹果公司的ios开发者企业项目
·为分配式应用程序做准备。
·创建一个企业分配供应配置文件,允许设备能够使用那些已签署的应用程序。
·构建带有供应配置文件的应用软件。
·将相关应用程序部署到您的用户上。
注册应用程序开发者项目
为ios4开发和部署定制的应用程序,首先应在http://developer.apple.com/programs/ios/enterprise/注册ios开发者企业项目。
完成注册过程后,你遂即将可访问ios开发中心和供应门户。里面包含如何准备企业分布应用程序的详细说明。
为分配式应用程序做准备
企业应用程序须附有你签署的分配证书和一个企业分配供应配置文件,允许设备能够使用这些应用程序。你该程序成员的指定团队代理会在网上供应门户创建分配证书和配置文件。
生成分配证书涉及使用证书代理来生成“证书签名请求”(即CSR),而证书代理属于你的Mac OS X开发系统的钥匙串访问应用程序的一部分。生成“证书签名请求”后,需将CSR上传至配置文件的门户网站,随后会收到一个分配证书。把该证书安装在钥匙串后,开发工具则会使用该证书来签署你的应用程序。详情见企业供应文件门户网站在线提供的帮助。
其次,你需要创建一个企业分配式配置文件以确保你的用户能够通过他们的设备使用你的应用程序。你可以为某个特定的应用程序或多个应用程序创建一个企业分配式配置文件。
你企业指定的团队代理能够在ios供应门户网站(http://developer.apple.com/iphone)创建分配式配置文件。有关说明,请参阅网站。
部署应用程序
安装应用程序的三种方法如下:
·使用iTunes将应用程序分发到你的用户。
·使用iPhone配置实用工具,用IT管理员将应用程序安装在设备上。
·把这些应用程序放到一个安全的Web服务器上;用户可无线访问和安装这些应用程序。
如果你的应用程序没有嵌入式配置文件,要想使用程序软件,用户需要使用app和mobileprovision文件。分配和安装mobileprovision文件的方法同安装应用程序的方法相同。
使用iTunes安装应用程序
你的用户使用iTunes将应用程序安装到他们的设备上。将应用程序安全的分配到你的用户,然后让他们按照下列步骤:
在iTunes 里,选择“文件”>添加到Library,选择文件(app,ipa或者mobileprovision)你也可以将文件拖到iTunes的应用程序图标里面。
1. 将某个设备连接到电脑上,然后在iTunes的设备清单里选择该设备。
2. 点击应用程序标签,然后在清单里选择应用程序。
3. 点击“应用”。
如果用户的计算机是,你就不需要请用户将文件添加到iTunes,你可以将这些文件部署在他们的计算机上,然后通知他们同步自己的设备。
使用iPhone配置实用工具安装应用程序
你可以使用iPhone配置实用工具将应用程序和文件安装在连接设备上。
安装分配式配置文件:
1. 在iPhone配置应用工具,选择“文件”>“添加”至程序库,然后选择你想安装的分配式配置文件。
文件添加到iPhone配置应用工具后,可选择程序库中的配置文件的类别就可以查看到该文件。
2. 在连接设备清单里选择一个设备。
3. 点击“配置文件”标签。
4.在清单中选择配置文件,然后点击“安装”按钮。
使用iPhone配置实用工具安装应用程序
你可以使用iPhone配置实用工具将应用程序安装到连接设备上。
1. 应用程序添加到iPhone配置应用工具后,可通过选择程序库中的“应用类别”查看到该程序。
2. 在连接设备清单里选择一种设备。
3. 点击“应用”标签。
4. 在清单里选择应用程序,然后点击“安装”按钮。
无线安装应用程序
ios4系统支持企业应用系统的无线安装,这样,即使不使用iTunes或者hone配置应用工具,也可以使你能够将内部软件分发给你的用户,
要求:
·具备一个认证用户可以访问的安全的Web网站。
·具备文件格式为ipa的内部ios应用软件
·具备一个本文中描述过的可扩展标示语言(XML)清单文件
·具备一个网络配置,允许设备访问Apple iTunes服务器。
安装应用程序很简单。用户可以从你的网站上下载清单文件至他们的ios 4 设备中,指示该设备下载和安装在清单中引用的应用程序。
你可以通过短信、电子邮件下载清单文件来分配URL或者也可以将它嵌入到你创建过的另外一个企业应用程序中。
你可以按照自己的要求来设计和创办用于分配应用程序的网站。首先,你必须确保用户都是通过身份认证的,基本的认证方式或目录身份认证方式均可,同时也要确保通过内部网或者互联网都可以访问这个网站。应用程序和清单可放在一个隐藏的目录中,或者使用HTTP或HTTPS可读的任何其他位置。
为无线分配准备一个企业应用程序
为了给无线分配准备一个企业应用程序,你需要创建一个ipa文件格式的存档版本和一个允许应用程序无线分配和安装的清单文件。
在Xcode中,你可以通过“新建”>“新建和归档”菜单项创建一个应用程序文档。然后在Xcode的文件管理器的存档应用程序源中选择应用程序,点击“共享应用…”按钮。然后点击“分配企业…”按钮。你需要为Xcode创建的清单文件提供信息。有关清单文件的信息,见下文。如需进一步了解创建和配置应用程序的信息,可参阅ios开发中心。
关于无线清单
该清单是一个XML的属性列表(plist)格式的文件。使用iso 4设备可通过该清单从你的Web服务器上查找、下载和安装应用程序。该清单是由Xcode创建,使用你在共享分配式企业应用程序时提供的信息。见“为无线分配准备一个企业应用程序”。
Plist格式的清单样本见本文结尾。需包含一下内容:
项目
说明
URL
格式为ipa的应用程序文件的完全合格的HTTP或HTTPS URL
显示图像
下载和安装时显示的像素为57×57的PNG图片。对图片的完全合格的URL需详细说明
全尺寸图像
一个可在iTunes中代表应用程序,像素为512×512的PNG图像
包标识号
你在Xcode项目中的规定的应用程序的包标识号
包版本
你在Xcode项目中的规定的包版本
名称
下载安装时显示的应用文件的名称
可选密匙
你可以使用可选密匙,Plist格式的清单样本对此做了描述。如果你的应用程序文件很大,想要在TCP通讯过程中超过正常的错误检查以确保下载的整体性,你可以使用MD5密匙。
构建你自己的网站
把这三项上传至你网站的某个版块,使你的认证用户都能够访问。
·ipa格式的应用程序文件
·plist格式的清单文件
网站的设计取决于你。它可以是一个链接到清单文件的一个简单的网页。用户点击该网络链接,下载清单文件,那么该清单文件所描述的应用程序也将会被下载和安装下来。
下面是一个链接的例子:
安装应用程序
不要在存储应用程序(格式为ipa)上添加网络链接。当下载清单文件后,设备会下载该存储应用程序。尽管URL的协议部分为itms化服务,但此程序不包含iTunes商店。
设置服务器的MIME类型
可能需要配置你的网络服务器,以使清单和应用程序文件正确的传送。
对于Mac OS X服务器,应使用服务器管理器把下面的MIME类型添加到MIME类型的设置上。
application/octet-stream ipa
text/xml plist
对于IIS,应使用IIS管理器服务器把MIME类型添加到服务器的属性页面:
. ipa application/octet-stream
. plist text/xml
排除无线应用程序分配的故障
关于企业应用程序需牢记以下几点:
如果无线应用程序分配上的信息不能下载,请检查以下地方:
·确保清单文件上的链接无误,而且用户能够访问清单文件。
·确保ipa文件(清单文件中的)的URL无误,而且用户可以访问该ipa文件。
·确保应用程序的签署无误。用iPhone 配置实用工具将它安装在一个设备上进行测验。
网络配置要求:
如果设备连接在一个封闭的内部网络里,你应该允许在这些网站上使用ios设备。
URL 原因
ax.init.iTunes.apple.com 该网站上的设备可获得通过蜂窝网络下载的应用程序的当前文件的大小限制。如果这个网站无法访问,安装可能会失败。
ocsp.apple.com 连接在此网站上的设备是为了检查用于签署配置文件的分配证书状态。请参阅“证书验证。”
提供更新的应用系统
你分配给自己的应用程序是不能自动更新的。当你有新版本让用户安装的时候,要通知他们更新,并指示用户安装更新了的应用程序。打开应用程序后,还要用应用程序来检查更新的效果。如果你正在使用无线应用程序分配,可以在网站或更新的应用系统的清单文件上添加一个链接。如果你正在使用iTunes,把一个新的应用系统安装在他们的设备上。如果你在使用iPhone配置实用工具,使他们连接到IT管理员上,来安装新版本。你将需要至少每年一次地更新你所有的企业应用程序,请参阅“证书验证。”
如果你希望用户保留存储在他们设备上的数据,确保新版本使用的是和替换掉的应用程序相同的包标识号。并告诉用户在安装新版本之前不要删除他们以前的版本。新版本将取代旧版本,并保留了储存在设备上的数据,前提是包标识号必须匹配才行。
证书验证
应用程序第一次在设备上打开时,通过连接苹果的OCSP服务器分配证书经过验证。除非该证书已被撤销,否则应用程序就可以运行。无法连接或获取从OCSP服务器的回应不能解释为证书已撤销。为了验证身份,该设备必须能够访问ocsp.apple.com。请参阅“网络配置要求。”
OCSP响应在OCSP服务器规定的时间内缓存在设备上;目前为3至7天。直到设备重新启动,并且缓存的响应已过期,则不会再检查证书的有效性。如果撤销是在该时间收到的,应用程序将无法运行。请注意,吊销分配证书将会使你分配的所有的应用程序失效。
如果分配证书过期,那么这个应用程序将无法运行。目前,分配证书的有效期为一年。在你的分配证书过期的前几周,要从开发中心申请一个新的分配证书,用它来创建新的分配式配置文件,然后重新编译和分配更新的应用程序给你的用户。请参阅“提供更新的应用程序。”
清单文件的样本:
items
assets
kind
software-package
md5-size
10485760
md5s
41fa64bb7a7cae5a46bfb45821ac8bba
41fa64bb7a7cae5a46bfb45821ac8bba
url
http://www.example.com/apps/foo.ipa
kind
display-image
needs-shine
url
http://www.example.com/57×57.png
kind
full-size-image
md5
61fa64bb7a7cae5a46bfb45821ac8bba
needs-shine
urlhttp//www.example.com/image.512×512.jpg
metadata
bundle-identifier
com.example.fooapp
bundle-version
1.0
kind
software
subtitle
Apple
title
Example Corporate App