Xcode 4 在"Attaching to (app name)"时卡住了。

207

我刚升级到Xcode 4,但是我的应用程序无法在模拟器或iOS设备上运行。它在Xcode 3中完美运行,但现在当我按下运行按钮时,程序会停在“Attaching to…”这个步骤。目前没有其他信息能够帮助解决这个问题。

为了解决这个问题,您可以尝试以下几点:

  1. 重启模拟器。
  2. 确保您没有将Info.plist文件包含在“构建阶段”->“复制Bundle资源”中。
  3. 将资源文件夹添加为项目的文件夹引用(蓝色文件夹图标)。这可能会导致问题,将文件夹添加为组后问题就解决了。

我也遇到了这个问题,重启Xcode通常可以暂时解决它,但它总是会再次出现。 - NWCoder
5
我之前的另一个应用程序也出现过这个问题,重启后就解决了,但这个应用无论如何都无法运行。我尝试了重启、使用 iPhone 模拟器、iPad 模拟器和 iOS 设备,但仍然不起作用。 - Rob
4
当我向项目添加一个不是组而是普通文件夹的目录时,遇到了这个问题。具体来说,当添加的文件夹与主项目中的组或文件存在名称冲突时会出现此问题。 - yeahdixon
4
当我将一个“资源”文件夹拖到项目中时,出现了这个问题。删除它并不能解决问题。 - Kit Sunde
4
只需通过编辑方案将调试选项从LLDB更改为GDB即可。(对我有效)(此为针对stackoverflow.com上问题的翻译,不包含任何额外信息或解释。) - Ansari
显示剩余3条评论
54个回答

104

修复了!希望这能帮助一些人避免浪费几个小时的令人沮丧的经历。我通过以下步骤解决了这个问题:

  1. 点击左侧窗格中的项目名称(位于顶部)。这将在右侧显示一个新菜单,类似于 XCode 3 中的项目 / 目标编辑器。
  2. 点击顶部的“构建设置”。
  3. 在“包装”下,确保每个构建的产品名称相同,并且等于它附加的名称。例如,如果 XCode 卡在“附加到 myLCBO”,但您的产品名称为“LCBO Finder”,则无法构建。这正是我的问题,因为我在开发过程中更改了我的应用程序名称。

是的,我认为它并不总是有效的,但这绝对是你可能会遇到的问题之一。 - Rob
谢谢,这也解决了我的问题。由于某种原因,调试版本的产品名称是不正确的,而发布版本则是正确的。 - Andy Bowskill
我遇到了相同的行为,但是我必须将iOS目标属性“Application requires iPhone environment”从“YES”更改为“NO”,才能使它正常工作。 - nikkumang
17
尝试这样做:重置模拟器,进行干净构建,退出模拟器,运行项目。应该有效。 - Jordan
4
@Jordan:没什么帮助,但重新启动电脑解决了问题。对我来说,Lion系统有很多bug,我的Mac mini也是如此。 - Jonas Byström
显示剩余5条评论

72

以下是我们的解决方法:

在“项目 > 编辑方案 > 运行”中。

将调试器从GDB更改为None(如上图绿色圆圈上方直接变化)。


这对我也有帮助,但显然没有错误报告的 bug 报告,只有 NSLog 支持。 - oberbaum
13
这个对我很有帮助,但我真的希望知道为什么/如何实际解决它。实际上是LLDB引起的。切换到GDB就可以正常工作了。 - justinxreese
4
谢谢,问题已经解决了,但是根本性的问题还未得到解决。在发布产品之前,苹果需要先试用一下他们的垃圾产品。 - Stephen Punwasi
我尝试了这个页面上的所有其他提示。然后,将调试器从LLDB切换到无,就解决了问题。谢谢! - thomax
工作正常,而且在没有调试器的情况下,它可以让您更快地工作。当然,如果需要调试,可以重新打开它。 - Matej
值得注意的是,此解决方案中提到“项目> [...]”在其他(旧)版本的Xcode中可能可用,但在我的版本中,它被命名为“产品> [...]”(如@macnico的答案中所述;) - Tommy Bravo

40

我在苹果开发者论坛上找到的一个技巧:

进入您的ProjectName.xcodeproj/目录,删除任何以您的用户ID命名的内容。重新在Xcode中打开项目,所有这些都将被重建,它应该可以工作了。至少对我有效。

另一个提示是手动删除build目录。

还有另一种方法是导航到组织器(在xcode 4中,使用Shift ⇧ Command ⌘ 2),选择项目,在左侧选择您的应用程序,然后单击Derived Data右侧的删除...按钮。

最后不要忘记普遍适用的提示:重新启动计算机,然后再试一次。

祝好运!


7
信不信由你,我尝试了这个页面上的所有方法和多次重启Xcode都没有成功。最后我只好重启了电脑,然后它就奇迹般地正常了。真是太疯狂了,我以为这只是Windows的解决方案 :) - dreyln
1
我曾经遇到过完全相同的问题,删除我的用户ID下的所有内容并重新启动Xcode解决了它。 - Nikita Zhuk
删除派生数据对我有用(第三个提示)。当我向XCode项目添加文件时出现了这个问题,这解决了它。 - Jonathon Horsman

28

所提供的解决方案在我的情况下没有解决问题。

为了解决这个问题(仅适用于XCode 4),我不得不去到"产品"->"编辑方案"。然后选择"Run"方案,并标记"自动",这一项未被启用。

希望对某些人有所帮助。

http://tinyurl.com/3ma9xv7


赢了!省去了我很多麻烦。谢谢! - Jon

21

对于仍在尝试解决此问题的人,请尝试重置iPhone模拟器。

Simulator > Device > Erase All Content and Settings...

这将从模拟器中删除所有应用程序,但现在你终于可以使用模拟器了!


1
尝试过这个 - 没有任何作用。macnico上面的解决方案对我有效。 - Kwexi

11

还有:确保你没有把Info.plist文件包含在构建阶段的“复制捆绑资源”中。如果有,请从列表中删除它!这是一个可能发生的小错误,但会使事情变得非常糟糕:S


谢谢!那就是我的问题,其他答案都对我没用。 - Damian
尝试了一切之后,你的解决方案是有效的。谢谢! - jcdmb

10

重启模拟器对我有效 :)


8
另一种可能的解决方案:我将我的资源文件夹作为一个文件夹引用(蓝色文件夹图标)添加到项目中。这会导致问题,将该文件夹作为一组添加后,问题就解决了。

有趣但真实的是,Xcode4似乎不喜欢文件夹引用。对我来说已经解决了。 - Till
一样啊,苹果,真的吗? - Ege Akpinar

5

我真的为自己找到了答案 :)

对于我来说,

项目设置 -> 您的目标 -> 构建阶段 -> 验证设置 -> 执行

现在问题已经解决。

:)

我希望这对某些人有所帮助


谢谢!这对我有帮助。我以前从未见过“验证设置”按钮。 - Sunil Gowda

4
我是这样解决这个问题的:
1)重置iOS模拟器的内容和设置...
2)确保项目名称、方案名称和目标名称相同。 "AppName"和"Appname"不正确。必须是"AppName"和"AppName",或者"Appname"和"Appname"。
3)重新启动XCode并退出模拟器。
在生成设置中的项目名称为“Build Settings->Product Name”。
在产品管理方案中的方案名称为“Product->Manage Schemes”。单击当前方案一次以进行重命名。
在有目标的项目列中的目标名称上单击一次以进行重命名。
祝你好运 =)

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