iOS8 Beta Ad-Hoc 应用程序下载(itms-services)

6

我有一个使用通配符配置文件构建的ipa文件。 我正在托管ipa文件,我的测试人员正在我们的设备上下载它。

对于iOS7+设备,它可以正常工作。

我在我的一个设备上安装了iOS8 Beta。 如果我从应用商店安装我的应用程序,它可以安装并正常工作。但是如果我尝试安装ipa版本,就会出现“无法下载应用程序”的错误。

我正在使用这种类型的URL进行下载:

itms-services://?action=download-manifest&url=https://url-to-plist.plist

我的plist文件看起来像这样:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>https://url-to-ipa.ipa</string>
                         </dict>
                         <dict>
                              <key>kind</key>
                              <string>full-size-image</string>
                              <key>needs-shine</key>
                              <true/>
                              <key>url</key>
                              <string>https://url-to-artwork/iTunesArtwork.png</string>
                         </dict>
                         <dict>
                              <key>kind</key>
                              <string>display-image</string>
                              <key>needs-shine</key>
                              <true/>
                              <key>url</key>
                              <string>https://url-to-icon/Icon.png</string>
                         </dict>
                    </array>
                    <key>metadata</key>
                    <dict>
                         <key>bundle-identifier</key>
                         <string>com.vistair.docunet-test</string>
                         <key>bundle-version</key>
                         <string>3.0.400</string>
                         <key>kind</key>
                         <string>software</string>
                         <key>subtitle</key>
                         <string>DocuNet</string>
                         <key>title</key>
                         <string>DocuNet</string>
                    </dict>
               </dict>
          </array>
     </dict>
</plist>

下载/安装进度大约完成2/3,然后我收到了错误提示。

控制台信息如下:

Sep 10 09:22:54 iOS8-iPad itunesstored[80] <Warning>: LaunchServices: installing placeholder for com.vistair.docunet-test
Sep 10 09:22:54 iOS8-iPad installd[36] <Notice>: 0x419000 -[MIClientConnection _doBackgroundInstallationForPath:withOptions:completion:]: Install of "/var/mobile/Library/Caches/com.apple.itunesstored/AppPlaceholders/3333725844373650644.app" type Placeholder requested by itunesstored (pid 80)
Sep 10 09:22:54 iOS8-iPad installd[36] <Notice>: 0x419000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=com.vistair.docunet-test; Version=3.0.400, ShortVersion=(null)>
Sep 10 09:22:54 iOS8-iPad installd[36] <Notice>: 0x419000 -[MIContainer makeContainerLiveReplacingContainer:withError:]: Made container live for com.vistair.docunet-test at /private/var/mobile/Containers/Data/Application/C2CAA7A9-84D0-4350-BEF7-71A3D761AEDD
Sep 10 09:22:54 iOS8-iPad installd[36] <Notice>: 0x419000 -[MIContainer makeContainerLiveReplacingContainer:withError:]: Made container live for com.vistair.docunet-test at /private/var/mobile/Containers/Bundle/Application/F2673AA9-0BAB-4A39-9F53-57431B0DE690
Sep 10 09:22:54 iOS8-iPad installd[36] <Notice>: 0x419000 -[MIInstaller performInstallationWithError:]: Staging: 0.02s; Waiting: 0.00s; Installation: 0.56s; Overall: 0.58s
Sep 10 09:22:55 iOS8-iPad itunesstored[80] <Warning>: LaunchServices: Creating installProgressForApplication:<LSApplicationProxy: 0x14fa8d50> com.vistair.docunet-test (Placeholder) withPhase:3
Sep 10 09:22:55 iOS8-iPad itunesstored[80] <Warning>: LaunchServices: installPhaseFinishedForProgress: com.vistair.docunet-test.InstallingPlaceholder - <NSProgress: 0x1607eac0> : Parent: 0x0 / Fraction completed: 0.0000 / Completed: 0 of 100   called, removing progress from cache
Sep 10 09:22:55 iOS8-iPad itunesstored[80] <Warning>: LaunchServices: Creating installProgressForApplication:<LSApplicationProxy: 0x14ec1430> com.vistair.docunet-test (Placeholder) withPhase:0
Sep 10 09:22:55 iOS8-iPad lsd[72] <Warning>: LaunchServices: Updating installPhase for parent <NSProgress: 0x1457c530> : Parent: 0x0 / Fraction completed: 0.0000 / Completed: 0 of 100   to 0
Sep 10 09:22:56 iOS8-iPad filecoordinationd[166] <Warning>: sandboxing denied subscription to progress on category com.vistair.docunet-test (bundle id (null), 8A7A24B0-E3C0-45CC-81B3-615E0D54A5FF)
Sep 10 09:22:56 iOS8-iPad filecoordinationd[166] <Warning>: sandboxing denied subscription to progress on category com.vistair.docunet-test (bundle id com.apple.iaptransportd, F245BFD6-E6FB-4F0E-8D6B-2E2C687064F1)

还在解决中。我将不得不使用我的苹果帮助台票。 - Southy
+1 我遇到了同样的问题,但是是在使用显式配置文件而不是通配符时进行adhoc构建。 - darknos
这里也有同样的问题。看起来对于一些拥有开发者账户的用户是有效的,尽管这可能只是巧合。 - Ivo Jansch
我现在在任何苹果文档中都看不到关于itms-services的任何内容。他们只是在谈论使用OSX Server MDM解决方案。 - Southy
@Southy:你在做这个的时候使用了iOS开发者计划(每年99美元)吗? - user500468
显示剩余3条评论
3个回答

10

这个有效,谢谢。你能给我指一些提到这个的苹果相关的东西吗? - Southy
很抱歉,我没有苹果公司提供的源代码。我只是尝试了一些试验性的方法。 :-) - Zillan
1
没问题,太棒了,省了我很多麻烦! - Southy
@Southy,您可以在以下文档的附录C中阅读官方信息:https://www.apple.com/iphone/business/docs/iOS_Deployment_Technical_Reference_EN_May14.pdf - Athan
当我使用特定的图像尺寸(即57和512)时,我的问题得到了解决...谢谢!!! - Chris Allinson

2
如果您已经在设备上安装了应用程序,请尝试在网页的.plist文件(而不是应用程序的plist文件)中更改捆绑标识符,例如“com.vistair.docunet-test2”,然后刷新网页并尝试重新安装...这对我有用。

1
这个不起作用,而且我正在尝试从头开始安装,而不是在当前已安装的应用程序之上安装。 - Southy

1
我遇到了问题,我的应用在iOS8中安装但是没有完成(我可以说大约60%的进度),但是在iOS7.1中它能够正常工作。弹出的错误信息如下:
"Cannot install at this time". 

最终,Zillan的链接帮助我获取了苹果文档。因此,请检查:

  1. 确保您的设备可以访问互联网,因为您将在本地网络/局域网中。
  2. 还要确保地址ax.init.itunes.apple.com没有被防火墙/代理阻止(只需在Safari中键入此地址,应加载一个空白页面)。

当我更改代理后,它完全安装了。希望它能帮到某人。


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