Xcode 5.1在iPad Air上构建和运行非常缓慢

3
在使用Xcode 5.1部署我们的iOS应用程序时,我看到它很快构建并显示“运行在iPad名称上”,但是要等待7分钟左右才能启动应用程序。当我点击顶部状态栏以获取更多信息时,它显示“SandboxingApplication”。
其他使用同一应用程序的iPad没有出现这种情况。
有什么想法吗?我已经尝试了所有基本操作,如重新启动设备、Xcode和计算机。

1
我曾经遇到这样的问题,当我接手一个使用了cocoa-pods的项目时,出现了类似的症状,但我无法准确回忆那个状态栏消息是什么,不过编译和在真机上运行该项目花费了4-5分钟的时间。最终我删除了所有cocoa-pods的引用,并改用subtrees和submodules,项目得到了“治愈”,我可以在25-30秒内编译并运行它。 - holex
当“复制Pod资源”需要很长时间运行时,我认为这不是问题(至少对我来说不是)。 - jrturton
2
尝试删除项目的DerivedData,清理项目(Shift+Command+K),从iPad中删除应用程序,然后再次运行项目。 - flowmachine1
1
你使用的是哪款 Mac? - idmean
@flowmachine1,太好了!非常感谢。现在它可以快速部署了。我真的很感激你的帮助。 - kyleplattner
@wumm 我使用的是2.6 GHz的Retina MacBook Pro,内存为16GB。 - kyleplattner
5个回答

1
你已经说过了:

我们使用同一应用程序的其他 iPad 上不会出现这种情况。

这就是问题所在,你需要重新安装 iPad。之前我有一个 iPhone 3GS 用于测试,有时启动应用程序也要花费几分钟时间。Xcode 的行为就像你描述的那样,显示“正在运行 设备名称”。
但尽管这部 iPhone 更旧,它并不总是这么慢。在我从 iTunes 恢复后,它又变得相当快了。

“从iTunes重新安装”是什么意思? - jrturton
@jrturton 我从iTunes中恢复了iOS。 - idmean

1

最终在 @flowmachine1 的帮助下解决了这个问题!具体解决方法如下:

  1. 删除派生数据
  2. 清理项目
  3. 删除应用并重新安装

非常感谢!


0

可能是任何问题,但以下是一些故障排除提示。

  1. 重新启动Xcode和iPad(您已经这样做了)
  2. 尝试创建一个新项目,并在iPad Air上运行它(请在下面的评论中告诉我发生了什么)
  3. 重新安装Xcode(最常见的修复方法)

如果这些修复方法都不起作用,请向苹果报告https://developer.apple.com/bug-reporting/

谢谢。


同样的事情发生在一个新项目上,我没有运行 Xcode 的 beta 版本。它是 5.1.1 版本。 - kyleplattner
重新安装后,它仍然会发生。 - kyleplattner
联系苹果开发者支持,他们应该会提供帮助。https://developer.apple.com/contact/ - Pixel Code

0

至少对于我的情况,我已经找到了一个原因。应用程序的沙盒区域非常大(几个GB),因为它包含大量资源(如此处所讨论)。清除这些资源可以防止沙盒过程中的延迟(不幸的是,这会导致应用程序的一半无法使用)。

我只能假设,在附加调试器的过程中,每个沙盒中的文件都需要进行一些处理,并且正是这个过程需要时间。

这些资源位于应用程序支持目录中。如果有人知道一种标记或重新定位这些文件以提高沙盒过程速度的方法,我将非常感兴趣(并将授予悬赏奖励)。


我们的应用程序只有27Mb,所以我认为我的问题不同。 - kyleplattner
出于兴趣,设备上还有什么其他的东西吗?我发现当安装了巨大的应用程序时,其他应用程序在沙盒环境中可能会很慢。我们也认为测试设备上的闪电接口可能是损坏/破裂的。 - jrturton
iPad Air。我发现另一个开发者抱怨他的iPad Air也出现了同样的问题。不确定这是否重要。 - kyleplattner

0

嗯,我在iPad Air上运行应用程序,使用Xcode 5.1和Xcode 6(beta 4),只需几秒钟即可完成。所以,我猜这里有三种可能性:

  1. 您的Mac的硬盘正在故障,或者您的应用程序非常大(具有GiB文件或成千上万个小文件)。您已经说过您的应用程序有27MB,因此大小不应该是问题。除非您谈论的是一个27MB的.ipa文件,它是压缩的。如果您的IPA包含27MB,则应用程序本身可以相当大(不足以获得7分钟的沙盒时间,但会影响沙盒时间)。

  2. 您的Mac内存不足,导致内存交换。这很容易导致7分钟的构建时间。

  3. 您的USB电缆(或端口)已损坏。我之前尝试使用过损坏的电缆,即使使用Xcode的基本模板,在设备上运行也需要几分钟。


沙箱是在设备上完成的,因此第1点和第2点并不适用。第3点可能是一个选择。 - jrturton
哦,我一直以为沙盒是在 Mac 上作为“封装”过程的一部分进行的。但仍然,第三个猜测仍然可能是原因。尝试使用另一根电缆 :) - B.R.W.

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