iOS以无线方式安装企业内部应用程序
2014-12-30 18:02
253 查看
iOS 支持以无线方式安装自定的企业内部应用程序,而无需使用 iTunes 或 App Store。
要求:
.ipa 格式的 iOS 应用程序,使用企业预置描述文件为生产而构建
此附录中描述的 XML 清单文件
可让设备访问 Apple iTunes 服务器的网络配置
安装应用程序很简单。用户将清单文件从您的网站下载到他们的 iOS 设备。该清单文件会指示设备下载和安装文件中所引用的应用程序。
您可以通过短信或电子邮件分发用于下载清单文件的 URL,或将其嵌入创建的另一企业应用程序中。
您负责设计和托管用于分发应用程序的网站。请确定用户已通过认证(可能是使用基本认证或基于目录的认证),并确定网站可通过内联网或互联网进行访问。您可以将应用程序和清单文件放入隐藏目录,或任何可使用 HTTP 或 HTTPS 读取的位置。
创建自助服务门户时,请考虑在用户的主屏幕中添加一个 Web Clip,让他们轻松返回门户以进一步获取部署信息,如新的配置描述文件、推荐的 App Store 应用程序,和移动设备管理解决方案的注册信息。
准备以无线方式分发的企业内部应用程序
为准备以无线方式分发的企业内部应用程序,请构建归档版本(.ipa 文件)和用于启用无线分发和应用程序安装的清单文件。
您可以使用 Xcode 来创建应用程序归档。使用分发证书给应用程序签名,并在归档中包括企业开发预置描述文件。有关构建和归档应用程序的更多信息,请访问
iOS Dev Center(iOS 开发者中心),或参考 Xcode“Help”(帮助)菜单中可用的《Xcode User Guide》(Xcode 使用手册)。
关于无线清单文件
清单文件是 XML plist 格式。iOS 设备使用该清单从您的 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:下载和安装过程中显示的应用程序的名称。
以下栏仅为“报刊杂志”应用程序的必填项:
newsstand-image:完整大小的 PNG 图像,显示在“报刊杂志”书架上。
UINewsstandBindingEdge and UINewsstandBindingType:这些键必须与“报刊杂志”应用程序 info.plist 中的键相符。
UINewsstandApp:表明相应的应用程序是“报刊杂志”应用程序。
示例清单文件中描述了您可以使用的一些可选键。例如,如果应用程序文件太大,并且想要在执行错误检验(TCP 通信通常会执行该检验)的基础上确保下载的完整性,可以使用 MD5 键。
通过指定项目数组的附加成员,您可以使用一个清单文件安装多个应用程序。
此附录末尾包含一个示例清单文件。
构建网站
将这些项目上传到网站上可供已认证的用户访问的区域:
应用程序 (.ipa) 文件
清单 (.plist) 文件
您的网站可以是链接到清单文件的单个页面。当用户轻按网站链接时,会下载清单文件,并触发下载和安装它所描述的应用程序。
以下是示例链接:
请勿添加归档应用程序 (.ipa) 的网站链接。载入清单文件时,设备会下载该 .ipa 文件。虽然 URL 的协议部分是 itms-services,但 iTunes Store 并不参与此过程。
此外,请确定 .ipa 文件可通过 HTTPS 进行访问,并且您的站点已使用 iOS 信任的证书进行了签名。如果自签名证书没有受信任的锚点并且无法由 iOS 设备验证,安装会失败。
设定服务器 MIME 类型
您可能需要配置 Web 服务器,让清单文件和应用程序文件可正确传输。
对于 OS X Server,请将以下 MIME 类型添加到 Web 服务的“MIME 类型”设置:
application/octet-stream ipa
text/xml plist
对于 IIS,请使用 IIS Manager 在服务器的“属性”页面中添加 MIME 类型:
.ipa application/octet-stream
.plist text/xml
无线应用程序分发故障诊断
如果无线应用程序分发失败,并显示“无法下载”信息:
请确定应用程序已正确进行签名。测试方法是使用 Apple Configurator 将它安装到设备上,然后查看是否发生错误。
请确定清单文件的链接是否正确,清单文件是否可供网络用户访问。
请确定 .ipa 文件(在清单文件中)的 URL 是否正确,并且该 .ipa 文件是否可供网络用户通过 HTTPS 访问。
网络配置要求
如果设备连接到封闭式内部网络,您应该允许 iOS 设备访问以下站点:
ax.init.itunes.apple.com:使用蜂窝移动网络下载应用程序时,设备会限制其当前文件大小。如果无法访问此站点,安装可能会失败。
ocsp.apple.com:设备会联系此网站,检查用来给预置描述文件签名的分发证书状态。
提供更新的应用程序
您自己分发的应用程序不会自动更新。有新版本可供用户安装时,应通知他们进行更新并指导他们安装应用程序。请考虑让应用程序检查更新,并在打开应用程序时通知用户。如果使用的是无线应用程序分发,您可以在通知中提供更新版应用程序的清单文件链接。
如果想要用户保留他们设备上储存的应用程序数据,请确保新版本与要替换的版本使用的捆绑标识符相同,并告知用户在安装新版本之前不要删除旧版本。如果捆绑标识符匹配,新版本会替换旧版本并保留设备上储存的数据。
分发预置描述文件自签发之日起 12 个月后过期。过期后,系统会删除描述文件,应用程序将不会启动。
预置描述文件过期之前,请前往
iOS Development Portal(iOS 开发门户)网站为应用程序创建新描述文件。对于首次安装应用程序的用户,请使用新预置描述文件创建新应用程序归档 (.ipa)。
如果用户已有该应用程序,您需要设定发布下一个版本的时间,并在该版本中包括新预置描述文件。如果不想这样做,您可以仅分发新的 .mobileprovision 文件,这样用户便不必再次安装该应用程序。新的预置描述文件会覆盖应用程序归档中已有的描述文件。
您可以使用 MDM 安装和管理预置描述文件,然后用户通过应用程序更新或使用 MDM 进行下载并安装。
如果分发证书过期,应用程序将不会启动。分发证书自签发之日起三年内有效,或者在您的企业开发者计划成员资格过期之前一直有效,二者以先到者为准。若要防止证书过期,请确保在成员资格过期之前先进行续订。
两个证书可同时处于活跃状态,并且彼此独立。第二个证书提供了一个重叠期,让您能够在第一个证书过期前更新应用程序。从 iOS Dev Center 请求第二个分发证书时,请确保不要撤销第一个证书。
证书验证
用户首次打开应用程序时,系统会通过联系 Apple 的 OCSP 服务器来验证分发证书。如果证书已撤销,应用程序将不会启动。如不能联系 OCSP 服务器,或不能从 OCSP 服务器获得响应,这种情况不会视为撤销。为了验证状态,设备必须能够访问 ocsp.apple.com。请参阅“网络配置要求”。
OCSP 响应会在设备上缓存一段时间(由 OCSP 服务器指定),当前为 3 到 7 天之间。在重新启动设备和缓存的响应过期之前,将不会再次检查证书的有效性。如果当时收到撤销命令,系统将阻止应用程序运行。
撤销分发证书会导致使用该证书签名的所有应用程序失效。只有万不得已时才应撤销证书,比如确定专用密钥已丢失或确信证书已遭破解。
示例应用程序清单文件
有关描述文件键和属性的更多信息,请参阅 iOS Developer Library(iOS 开发者资源库)网站上的《Configuration
Profile Key Reference》(配置描述文件键参考)。
转自:https://help.apple.com/deployment/ios/#/apda0e3426d7
要求:
.ipa 格式的 iOS 应用程序,使用企业预置描述文件为生产而构建
此附录中描述的 XML 清单文件
可让设备访问 Apple iTunes 服务器的网络配置
安装应用程序很简单。用户将清单文件从您的网站下载到他们的 iOS 设备。该清单文件会指示设备下载和安装文件中所引用的应用程序。
您可以通过短信或电子邮件分发用于下载清单文件的 URL,或将其嵌入创建的另一企业应用程序中。
您负责设计和托管用于分发应用程序的网站。请确定用户已通过认证(可能是使用基本认证或基于目录的认证),并确定网站可通过内联网或互联网进行访问。您可以将应用程序和清单文件放入隐藏目录,或任何可使用 HTTP 或 HTTPS 读取的位置。
创建自助服务门户时,请考虑在用户的主屏幕中添加一个 Web Clip,让他们轻松返回门户以进一步获取部署信息,如新的配置描述文件、推荐的 App Store 应用程序,和移动设备管理解决方案的注册信息。
准备以无线方式分发的企业内部应用程序
为准备以无线方式分发的企业内部应用程序,请构建归档版本(.ipa 文件)和用于启用无线分发和应用程序安装的清单文件。
您可以使用 Xcode 来创建应用程序归档。使用分发证书给应用程序签名,并在归档中包括企业开发预置描述文件。有关构建和归档应用程序的更多信息,请访问
iOS Dev Center(iOS 开发者中心),或参考 Xcode“Help”(帮助)菜单中可用的《Xcode User Guide》(Xcode 使用手册)。
关于无线清单文件
清单文件是 XML plist 格式。iOS 设备使用该清单从您的 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:下载和安装过程中显示的应用程序的名称。
以下栏仅为“报刊杂志”应用程序的必填项:
newsstand-image:完整大小的 PNG 图像,显示在“报刊杂志”书架上。
UINewsstandBindingEdge and UINewsstandBindingType:这些键必须与“报刊杂志”应用程序 info.plist 中的键相符。
UINewsstandApp:表明相应的应用程序是“报刊杂志”应用程序。
示例清单文件中描述了您可以使用的一些可选键。例如,如果应用程序文件太大,并且想要在执行错误检验(TCP 通信通常会执行该检验)的基础上确保下载的完整性,可以使用 MD5 键。
通过指定项目数组的附加成员,您可以使用一个清单文件安装多个应用程序。
此附录末尾包含一个示例清单文件。
构建网站
将这些项目上传到网站上可供已认证的用户访问的区域:
应用程序 (.ipa) 文件
清单 (.plist) 文件
您的网站可以是链接到清单文件的单个页面。当用户轻按网站链接时,会下载清单文件,并触发下载和安装它所描述的应用程序。
以下是示例链接:
<a href="itms-services://?action=download-manifest&url=http://example.com/manifest.plist">Install App</a>
请勿添加归档应用程序 (.ipa) 的网站链接。载入清单文件时,设备会下载该 .ipa 文件。虽然 URL 的协议部分是 itms-services,但 iTunes Store 并不参与此过程。
此外,请确定 .ipa 文件可通过 HTTPS 进行访问,并且您的站点已使用 iOS 信任的证书进行了签名。如果自签名证书没有受信任的锚点并且无法由 iOS 设备验证,安装会失败。
设定服务器 MIME 类型
您可能需要配置 Web 服务器,让清单文件和应用程序文件可正确传输。
对于 OS X Server,请将以下 MIME 类型添加到 Web 服务的“MIME 类型”设置:
application/octet-stream ipa
text/xml plist
对于 IIS,请使用 IIS Manager 在服务器的“属性”页面中添加 MIME 类型:
.ipa application/octet-stream
.plist text/xml
无线应用程序分发故障诊断
如果无线应用程序分发失败,并显示“无法下载”信息:
请确定应用程序已正确进行签名。测试方法是使用 Apple Configurator 将它安装到设备上,然后查看是否发生错误。
请确定清单文件的链接是否正确,清单文件是否可供网络用户访问。
请确定 .ipa 文件(在清单文件中)的 URL 是否正确,并且该 .ipa 文件是否可供网络用户通过 HTTPS 访问。
网络配置要求
如果设备连接到封闭式内部网络,您应该允许 iOS 设备访问以下站点:
ax.init.itunes.apple.com:使用蜂窝移动网络下载应用程序时,设备会限制其当前文件大小。如果无法访问此站点,安装可能会失败。
ocsp.apple.com:设备会联系此网站,检查用来给预置描述文件签名的分发证书状态。
提供更新的应用程序
您自己分发的应用程序不会自动更新。有新版本可供用户安装时,应通知他们进行更新并指导他们安装应用程序。请考虑让应用程序检查更新,并在打开应用程序时通知用户。如果使用的是无线应用程序分发,您可以在通知中提供更新版应用程序的清单文件链接。
如果想要用户保留他们设备上储存的应用程序数据,请确保新版本与要替换的版本使用的捆绑标识符相同,并告知用户在安装新版本之前不要删除旧版本。如果捆绑标识符匹配,新版本会替换旧版本并保留设备上储存的数据。
分发预置描述文件自签发之日起 12 个月后过期。过期后,系统会删除描述文件,应用程序将不会启动。
预置描述文件过期之前,请前往
iOS Development Portal(iOS 开发门户)网站为应用程序创建新描述文件。对于首次安装应用程序的用户,请使用新预置描述文件创建新应用程序归档 (.ipa)。
如果用户已有该应用程序,您需要设定发布下一个版本的时间,并在该版本中包括新预置描述文件。如果不想这样做,您可以仅分发新的 .mobileprovision 文件,这样用户便不必再次安装该应用程序。新的预置描述文件会覆盖应用程序归档中已有的描述文件。
您可以使用 MDM 安装和管理预置描述文件,然后用户通过应用程序更新或使用 MDM 进行下载并安装。
如果分发证书过期,应用程序将不会启动。分发证书自签发之日起三年内有效,或者在您的企业开发者计划成员资格过期之前一直有效,二者以先到者为准。若要防止证书过期,请确保在成员资格过期之前先进行续订。
两个证书可同时处于活跃状态,并且彼此独立。第二个证书提供了一个重叠期,让您能够在第一个证书过期前更新应用程序。从 iOS Dev Center 请求第二个分发证书时,请确保不要撤销第一个证书。
证书验证
用户首次打开应用程序时,系统会通过联系 Apple 的 OCSP 服务器来验证分发证书。如果证书已撤销,应用程序将不会启动。如不能联系 OCSP 服务器,或不能从 OCSP 服务器获得响应,这种情况不会视为撤销。为了验证状态,设备必须能够访问 ocsp.apple.com。请参阅“网络配置要求”。
OCSP 响应会在设备上缓存一段时间(由 OCSP 服务器指定),当前为 3 到 7 天之间。在重新启动设备和缓存的响应过期之前,将不会再次检查证书的有效性。如果当时收到撤销命令,系统将阻止应用程序运行。
撤销分发证书会导致使用该证书签名的所有应用程序失效。只有万不得已时才应撤销证书,比如确定专用密钥已丢失或确信证书已遭破解。
示例应用程序清单文件
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <!-- array of downloads.--> <key>items</key> <array> <dict> <!-- an array of assets to download --> <key>assets</key> <array> <!-- software-package: the ipa to install.--> <dict> <!-- required. the asset kind.--> <key>kind</key> <string>software-package</string> <!-- optional. md5 every n bytes. will restart a chunk if md5 fails.--> <key>md5-size</key> <integer>10485760</integer> <!-- optional. array of md5 hashes for each "md5-size" sized chunk.--> <key>md5s</key> <array> <string>41fa64bb7a7cae5a46bfb45821ac8bba</string> <string>51fa64bb7a7cae5a46bfb45821ac8bba</string> </array> <!-- required. the URL of the file to download.--> <key>url</key> <string>https://www.example.com/apps/foo.ipa</string> </dict> <!-- display-image: the icon to display during download.--> <dict> <key>kind</key> <string>display-image</string> <!-- optional. indicates if icon needs shine effect applied.--> <key>needs-shine</key> <true/> <key>url</key> <string>http://www.example.com/image.57x57.png</string> </dict> <!-- full-size-image: the large 512x512 icon used by iTunes.--> <dict> <key>kind</key> <string>full-size-image</string> <!-- optional. one md5 hash for the entire file.--> <key>md5</key> <string>61fa64bb7a7cae5a46bfb45821ac8bba</string> <key>needs-shine</key> <true/> <key>url</key> <string>http://www.example.com/image.512x512.jpg</string> </dict> </array> <key>metadata</key> <dict> <!-- required --> <key>bundle-identifier</key> <string>com.example.fooapp</string> <!-- optional (software only) --> <key>bundle-version</key> <string>1.0</string> <!-- required. the download kind.--> <key>kind</key> <string>software</string> <!-- optional. displayed during download; typically company name --> <key>subtitle</key> <string>Apple</string> <!-- required. the title to display during the download.--> <key>title</key> <string>Example Corporate App</string> </dict> </dict> </array> </dict> </plist>
有关描述文件键和属性的更多信息,请参阅 iOS Developer Library(iOS 开发者资源库)网站上的《Configuration
Profile Key Reference》(配置描述文件键参考)。
转自:https://help.apple.com/deployment/ios/#/apda0e3426d7
相关文章推荐
- 搭建自己的iOS内测分发平台[以无线方式安装企业内部应用 ]
- IOS以无线方式安装企业内部应用(开发者)
- ios无线方式安装应用程序-苹果企业证书打包的客户端如何使用plist下载
- IOS无线方式安装企业级应用程序原理及过程总结
- 以无线方式安装企业内部应用
- 以无线方式安装企业内部应用(用户篇)
- 企业级账号$299——用in house证书打ipa包(以无线 + 无需udid方式安装企业内部应用)
- 以无线方式安装企业内部应用-兼容iOS9
- iOS 以无线方式安装企业级应用程序
- iOS 以无线方式安装企业级应用程序
- ios 7.1企业证书无线安装
- iOS:苹果企业证书通过网页分发安装app(PP助手方式)
- iOS企业发布问题记录一(为什么iOS的应用安装到一半时提示"无法下载应用程序"?)
- iOS 7.1 安装 企业应用 提示 无法下载应用程序
- iOS开发之企业发布无线安装APP
- ios 企业应用"无法安装应用程序 因为证书无效"的解决方案
- IOS的企业版安装包 点击链接直接安装的方式 plist方式
- 在企业内部分发ios应用程序
- 以无线方式安装应用程序
- apple个人开发者证书无线发布app的实现 (不通过App Store,在iOS设备上直接安装应用程序)