iOS企业OTA分发问题

5
我正在尝试通过OTA部署我构建的应用程序。以下是我创建ipa的步骤:
  • 生成证书签名请求
  • 创建分发.mobileprovision文件
  • Xcode > 产品 > 存档 > 保存用于企业部署
  • 指定正确的标题、URL(完全限定域名)、大/小应用程序图标
  • 在IIS上托管.mobileprovision、.ipa、.plist(由xcode生成)。为.mobilerpovision和.ipa配置IIS MIME类型为application/octet-stream,为.plist配置为text/xml
  • 在笔记本电脑上测试并验证所有URL都是有效的。
  • 在iPad上OTA安装预配配置文件。
  • 点击正确格式的下载链接(itms-services://?action=download-manifest&url=$URL)。
  • iPad返回通用的“无法连接”错误。
我尝试通过iTunes手动在iPad上安装相同的应用程序,它可以正常运行。所以此时,我不知道还能尝试什么。我已经尝试过并删除了entitlements.plist,因为意识到Xcode会自动执行此操作。
非常感谢任何帮助!
谢谢, Teja.
7个回答

4

我曾尝试使用 IIS 7.5 部署企业部署签名的 OTA 应用,遇到了相同的问题。以下解决方案对我有效:

更改 MIME 类型:

.plist : application/xml
.ipa : application/x-plist

IIS 匿名身份验证凭据 设置为 应用程序池标识


1

我猜测尽管所有文件都工作正常,但其中一个文件在itms-services:// url或下载清单文件中拼写错误。

检查整个流程(30秒内)的最佳方法是安装Web代理并跟踪请求。

步骤:

  1. 安装Charles代理(Mac/Windows)
  2. 运行它(它将侦听外部请求的端口8888)
  3. 进入您的iPhone/iPad当前的Wifi设置,按(i),并设置Http代理为手动。输入您PC/Mac的IP地址和端口8888。
  4. 进入Safari并单击您的itms-services链接。
  5. 观察故障出现的位置以及导致故障的URL。

1

我将我的iOS 6应用托管在IIS 7.5上,而我没有添加任何MIME类型,但它对我进行了安装。

无论如何,根据我在互联网上阅读的内容,使用以下MIME类型。

.mobileprovision和.ipa

application/octet-stream

".plist" 是属性列表文件的扩展名。
 text/plain

应用程序/octet-stream

这是一个二进制文件。通常是需要在应用程序中打开的应用程序或文档的一般http字节流。

URL转义问题 点击正确格式的下载链接 (itms-services://?action=download-manifest&url=$URL)

确保URL已经进行了转义,否则可能无法安装。

网络配置要求

苹果公司要求必须能够访问其两个服务器才能成功安装。

访问一个服务器确认其有权限安装,另一个服务器检查OTA最大应用程序大小限制。

阅读苹果公司的文档,确保这些服务器地址不被锁定在封闭的内部网络中。


0

尝试使用“application/x-plist”作为plist的MIME类型


0

还有让我疯狂的是尝试找出.mobileprovision文件的MIME类型,当时对我来说并不清楚,但application/octet-stream用于.mobileprovision文件。


0

以下是我用于解决您的网站问题的步骤:

  1. 在我的 PC 上打开 Chrome 浏览器,并导航到包含您的 itms-services 链接的文件夹
  2. 单击或复制 itms-services 链接
  3. 重写地址以指向 plist 文件并跟随重写后的链接
  4. 检查返回的 XML 是否正确,特别是 IPA 的 URL
  5. 导航到显示的 IPA 地址
  6. 浏览器应该开始下载 IPA

如果上述步骤中出现错误,请修复您的网站并在 PC 上重复测试。

从 Apple 网站可以找到 《企业中的 iPhone - 部署》 以及 《iOS 部署技术参考》PDF 版本。在第 42 页,您可以找到关于在 OS X 和 IIS 的 mime 类型上配置您的 web 服务器的以下文本:

设置服务器 MIME 类型

您可能需要配置您的 Web 服务器,以便正确传输清单文件和应用程序文件。

对于 OS X Server,请将以下 MIME 类型添加到 Web 服务的 MIME 类型设置中:

  • application/octet-stream ipa
  • text/xml plist

对于 IIS,请使用 IIS 管理器在服务器的属性页面中添加 MIME 类型:

  • .ipa application/octet-stream
  • .plist text/xml

0

只需添加两个 MIME 类型,分别为 .plist.ipa 扩展名。

我在 IIS 7 上添加了以下内容,然后一切正常:

.ipa: application/octet-stream
.plist: application/xml

我不需要部署.mobileprovision文件。我猜它不是必需的,至少现在不是了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接