iOS的企业OTA分销无法下载应用(iOS Enterprise OTA distribution

2019-06-18 18:08发布

我创建了一个iOS应用,并希望将其分布在空中。 我跟着这个指南:

http://help.apple.com/iosdeployment-apps/mac/1.1/?lang=en-us#app43ad77ea

该应用程序与企业的证书签名,并包含发行配置文件。

当我尝试下载应用程序到iPad上(使用本指南中描述的技术),会出现与名称在屏幕上有我的下载图标方形图标“请稍候”,然后进行第二次以后的名称更改我的实际的应用程序的名称,然后再一秒钟后我收到错误信息:

无法下载应用

“您的应用程序”不能在这个时候下载。

该指南中,有三个故障排除提示:

如果无线应用程序分发失败与“无法下载”的消息,检查以下内容:

确保应用程序被正确签名。 通过使用iPhone配置实用程序或Apple配置的设备上安装它测试一下,看看是否出现任何错误。

确保链接到清单文件是正确的,清单文件是网络用户访问。

确保网址的.ipa文件(manifest文件)是正确的,并且.ipa文件是网络用户访问。

我查了所有的三件事情,他们都很好。

还有什么会引起我的下载问题?

Answer 1:

正如阿列克谢提到,太多的理由可以导致该消息。 苹果使用它作为一个“捕获所有的错误”。

您可以通过Console诊断它。 将设备连接到您的桌面和访问它无论是从Xcode的组织者 (仅限Mac)或iPhone配置实用程序 (Mac和Windows)。 但...

它只是没有这么简单! :-(

控制台可能不够远。 有时候,有没有相关的消息出现。

然后,不得已而为之的下一个清单 。 这样做从零一遍。 有很多出 有 ......但以下有我的泛型和非详细的清单通过无线方式分布 ,此刻。



  1. 均有分布构建 -这是最复杂的部分,在网络上经常做,而苹果改变步骤,所有的时间。 在一般情况下,你需要一个证书 ,一个标识符供应配置文件 。 清单设备几乎总是需要。 我现在的选择是“ 分配- >内训 ”。

    PS:如果你想列出的设备,确保的UDID是正确的。 在这里报告的许多问题。

  2. 设置项目下的配置文件- >构建设置 -自5的XCode,事情发生了变化。 取而代之的代码身份 签约可以清除所有并设置它在*代码签名- > *供应配置文件 。 身份应自动切换到“ 自动 ”。 还有没有更多需要手动从步骤1下载文件并安装它们。 XCode的管理,现在。

  3. 存档 -在Xcode中5,就没有必要再为“建立归档”。 只需将其归档。 它应该出现在未来主办单位 ,这将需要一些时间,如果这是一个大项目。 许多错误可以拿出这一步,但他们几乎总是与代码编译,而不是OTA。

  4. 部署 -现在,在主办单位- >档案 ,选择适当的归档文件(应该已经被选定为最近的一次),点击“ 分发 ”,然后保存为企业或特设部署 。 现在可能大等。 保存文件时,有一个“ 保存为企业分发 ”的选项。 这完全是一种误导性的名称。 什么它确实是创建plist文件。 如果你有一个已经,它的罚款。 你甚至可以手动编辑它,这是一般都比较好。 需要用于步骤plist中 (5)。 这里有一个很好的一个:

     <?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> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>http://example.com/app.ipa</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://example.com/FullSizeImage.png</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://example.com/Icon.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.example.app</string> <key>kind</key> <string>software</string> <key>subtitle</key> <string>for iOS</string> <key>title</key> <string>My App</string> </dict> </dict> </array> </dict> </plist> 
  5. 分发 -如果你想使用的XCode或iPhone配置实用程序安装它跳过此步骤。 你完成了。 这是该文件将在网站上 。 “简单”与像这样的一个HREF链接添加HTML页面:

      itms-services://?action=download-manifest&url=http://example.com/app.plist 

    不幸的是处理Web服务器是决不简单。 所以还检查服务器的MIME类型 ! 我做了一对夫妇的PHP文件来对付他们,如果你的服务器支持PHP。 只要保持你的文件,因为它们是(plist中 ,htmlIPA),链接到app.plist.php代替:

    app.plist.php

     $file = fopen("app.plist", "r"); while(!feof($file)){ $line = fgets($file); print str_replace(".ipa", ".ipa.php", $line); } fclose($file); ?> 

    app.ipa.php

     <?php header('Content-type: application/octet-stream'); $file = fopen("app.ipa", "r"); while(!feof($file)){ $line = fgets($file); print $line; } fclose($file); ?> 
  6. 验证 -确保资产数组中列出的所有文件可供下载。 如果这些文件,返回404或如(包括图标),整个安装将失败。 你必须(A)使这些文件可用或(B)删除plist中那些缺少的条目。 图标条目不需要下载工作。

    这里是没有图标的示例的plist:

     <?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> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>http://example.com/app.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.example.app</string> <key>kind</key> <string>software</string> <key>subtitle</key> <string>for iOS</string> <key>title</key> <string>My App</string> </dict> </dict> </array> </dict> </plist> 

该文件的例子是清单的一个非常重要的组成部分。 他们必须是100%正确的。

仔细检查的plist文件和HTML文件!

PS:我在写这个答案,因为,在我的情况,这是对的.plist文件链接错误的“简单”的事情。 而且,正因为如此,这是很难得要命诊断。 那么,只有这样做可能清单我找到错误! 它是指向“另一个-app.ipa”,而不是“app.ipa”!



Answer 2:

有一个充足的理由导致此消息。

诊断它的最好办法是将设备连接到Mac,并期待控制台 ,以管理设备。

在我的情况下,例如,它是:

verify_bundle_metadata:此应用程序不是建立支持该系列器件



Answer 3:

回答我的问题:

问题是,一个缩略图没有正确的路径在manifest.plist设置 - 这样不仅国际音标需要正确的路径,也可临时下载图标,否则安装将失败,并提到的错误消息。



Answer 4:

另外一个问题,这可能是是,无论是的.plist 的.ipa需要与HTTPS并不仅仅是普通的HTTP主办。 该软件包串应如下:

<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://example.com/app.ipa</string>

愚蠢的小疏忽,但它被绊倒了我一段时间。



Answer 5:

尝试安装iOS 5以上应用到iOS4.3.5的电话时,我们也经历了同样的错误消息。 你还要检查部署/编译目标和目标架构的设备(一个或多个),这表明问题匹配?



Answer 6:

确保外壳中的所有文件匹配。 他们往往是不区分大小写。



Answer 7:

在我的情况下,问题是我的设备上同一应用程序的旧版本,用同样的包标识符(从applstore下载)安装所以现在当我试图通过企业分配它在做什么,没有错误可言下载其新版本。 删除现有版本从设备解决我的问题。



Answer 8:

我在控制台中。

installcoordinationd(MobileInstallation)[99]:**** **** bundleID:5:11:1:1:失败更新PlaceholderMetadata为**** **** bundleID 1 _LSInstallType 1,underlyingError(错误域= MIInstallerErrorDomain代码= 13“无法验证/private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.IoCSM9/extracted/Payload/App.app的代码签名:0xe8008016(可执行文件与签约无效的权利)”的UserInfo = {LibMISErrorNumber = -402620394,LegacyErrorString = ApplicationVerificationFailed,SourceFileLine = 147,FunctionName = +。[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:错误:],NSLocalizedDescription =无法验证/私有的/ var / INSTALLD /库的代码签名/Caches/com.apple.mobile.installd.staging/temp.IoCSM9/extracted/Payload/App.app:0xe8008016(可执行用无效权利签名。)}),源17>

在这里,我们应该看看:
无法验证App.app的代码签名
可执行文件是无效的权利签署。

在我的情况,这是因为我从亚马逊下载企业版本。 但供应配置文件,将其用,过期后建造(在想通了开发者控制台 )。


另一条与其他目的:

“这个程序不能在这个时候被安装。” 热网问题

  • 为什么复仇者在乎返回在残局这些项目吗?
  • 什么是远古的错误呢?
  • 我的完美霸主的邪恶计划......是这样吗?
  • 麦克斯韦在物质方程的洛仑兹不变性
  • 什么是“DS”在“DS -...”美国签证申请表立场?
  • 什么是“神奇相似的爆震咒语”中的疯狂法师冒险的地牢中引用?
  • 是每一个故事,在未来的“科幻”设置?
  • 在任何类型的书将是太像哈利波特的魔杖?
  • 我怎样才能在一个“安全的环境”测试shell脚本,以避免伤害到我的电脑?
  • 我可以使用与RD-R8000 11-速度ULTEGRA影子后变速器(短臂)一十一月11日至23日,禧玛诺速度卡带?
  • 什么是适当的年龄来参与改变生活的决定,孩子们?
  • 当你停止“推”一书?
  • 什么是在PCB的底部,这些圆垫?
  • 租一个房子在我的部门的研究生
  • 他们为什么要等待奎尔到达?
  • 我怎样才能让括号坚持公式?
  • 六种口味的名称
  • 什么取代x86的内部函数对于C,当苹果沟渠英特尔处理器为自己的筹码?
  • 能否行星仍与损坏的月亮作用?
  • 是高原牧场拍摄115枪击案在美国2019
  • 没有采取主教与骑士的,为什么呢?
  • 以前有任何其他神的证据?
  • 在一场比赛中,围绕三角形围绕用什么骰子?
  • 做拉比自曝在他们的裁决情感的牵连?
更多热点问题


文章来源: iOS Enterprise OTA distribution Unable to Download Application