如何在设备上安装iOS应用程序

10

我想了解iOS应用程序安装在设备上的技术细节。

让我解释一下我的情况,

  • 我把我的应用程序的.ipa和.plist文件放在服务器上。 我制作了一个下载网页,使用itms-services指向.plist文件。
  • 我尝试在添加到项目预配资料中的朋友的iPhone上安装应用程序。
  • 应用程序下载到他的设备上,但始终处于等待状态。

我想知道应用程序如何安装,它是否被添加到队列中? 如果由于安装问题而导致某个应用程序安装失败,这会影响我要安装的其他应用程序吗? 更具体地说,我想知道“等待”状态是什么意思?

这个问题不仅发生在我朋友的iPhone上,也同样发生在我的iPhone上。 然而,我的iPhone有一个更严重的问题,我无法安装任何应用程序,因为所有应用程序都进入等待状态。

我的朋友的iPhone(iPhone 5S)运行iOS 7.0.4, 我的iPhone 4S运行iOS 7.0.3。

编辑 03/12/13 - 09:30

这是iPhone配置实用程序控制台输出的尝试安装期间。

... itunesstored[102] <Warning>: LaunchServices: installing placeholder for **.***.****.***********
... installd[62] <Notice>: 0x2c3000 handle_install_for_ls: Install of "/var/mobile/Library/Caches/com.apple.itunesstored/AppPlaceholders/4703876283909900519.app" requested by itunesstored
... installd[62] <Notice>: 0x2c3000 MobileInstallationInstall_Server: Installing app **.***.****.***********
... installd[62] <Notice>: 0x2c3000 install_application: Installing placeholder
... installd[62] <Notice>: 0x2c3000 MobileInstallationInstall_Server: Staging: 0.07s; Waiting: 0.00s; Installation: 0.24s; LS Sync: 0.00s; Overall: 0.38s
... filecoordinationd[128] <Warning>: sandboxing denied subscription to progress on category **.***.****.*********** (bundle id (null), ******-****-*****-*****-*********)

我猜测沙盒禁止订阅类别的进展部分和(捆绑标识(null)是相关的错误,但我在谷歌上找不到任何信息,有什么想法吗?

编辑03/12/13-09:39

我还想补充一下,我尝试从AppStore安装的任何应用程序都会出现相同的错误。

编辑03/12/13-09:53

此外,该应用在运行iOS 5.1.1的旧iPad上通过ad-hoc安装完全正常

编辑03/12/13-16:18

在iTunes中先进行备份,然后执行设置->重置->删除所有内容和设置后,该应用已成功安装!在这之前,我和我的朋友都无法安装任何应用程序(包括我们自己的应用程序),但现在我们都可以在手机上安装我们的应用或任何其他应用。 由于这不是一种理想的解决方案,我不知道问题出在哪里,也不知道“等待...”究竟意味着什么,我想让这个问题保持开放状态。


1
由于您目前正在使用网络下载,您是否尝试过使用iPhone配置实用程序来解决该问题设备上的任务? - Till
谢谢,我从未使用过那个工具,我会试一下的。 - paulvs
这是最可靠的安装应用程序的方法。我见过许多其他方法失败,但这个从未失败过(如果配置等操作正确)。但请确保在 Mac 上使用它,因为 Windows 版本有时会失败,而 Mac 版本则不会。 - Till
2个回答

3
我个人使用 iResign 来使用正确的配置文件重新签名ipa。https://github.com/maciekish/iReSign 这样可以避免在 xCode 项目中不断更改配置文件并构建新存档。ipa可以多次重新签名。
我建议在签署文件之前,通过文本编辑器打开配置文件并确保您要安装应用程序的设备的UDID包含在文件中。
一旦你有了ipa文件,就可以使用 Beta Builder 生成plist文件以及一个漂亮的html文件,可以上传到ftp。http://www.hanchorllc.com/2010/08/24/introducing-ios-beta-builder/ 所以现在用户只需访问其手机上的url即可下载应用程序。
除了您的互联网连接中断外,您不应该遇到任何问题。

2
通常,如果通过网络进行的adhoc安装失败,可能是由于ipa设置了无效的授权、无效的权利或因互联网连接超时等原因。我建议您检查xcode中使用的授权设置。请将“允许获取任务”设置为false。
如果不是授权问题,您可以登录itunes connect,确保您的分发配置文件已正确设置设备。删除本地分发配置文件,从itunes connect下载配置文件并重新安装到您的钥匙串中,以避免引用旧配置文件的可能性。
快速简便地安装ipa的方法是使用iphone配置工具,就像Paul所说的那样。我认为在mavericks上可能存在错误,但这可能已经得到修复。最坏的情况是,您可以通过组织者将ipa拖放到设备中。

设置授权必要吗?在代码签名->代码签名授权下,我没有列出任何内容。(根据我在文档中阅读的内容,它只在特殊情况下使用。) - paulvs
我看到我的预配文件中的 get-task-allow 是 false,所以它是OK的。 - paulvs
嗨Paul,是的,你说得对,你不需要许可文件。提到它只是为了防备你有一个。我还会检查一下plist是否已经正确创建。有很多次我设置标题时出错了。此外,如果这是一个捆绑标识问题,我也会确保捆绑正确指向你的分发配置文件。 - VeganTofu

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