Xcode 4.2。在运行时卡住“附加到myapp”

时间:2011-11-05 16:14:32

标签: iphone xcode ios-simulator ios5 hang

在xcode 4.2中,有时当你要在模拟器上运行你的ios项目时,状态窗口显示“附加到myapp”,然后卡在那里......直到你取消。 现在,这已被问过: XCode 4 hangs at "Attaching to (app name)"

并且令人惊讶的是,除了在该主题上接受的答案之外,还有至少10个其他可能的解决方案,其他人都在同一个问题上,人们说其中一个工作而其他人没有......

请注意,这不是一系列步骤。每一个都是一个可能的解决方案:

1 - 重新启动xcode和/或重启模拟器(重置内容和设置)和/或重新启动计算机。

2 - 点击项目导航器中的项目名称。在构建设置选项卡中,转到打包并确保“产品名称”与运行时模拟器附加的一个xcode相同。如果它们不同,它就会失败。

3 - 转到projectname.xcodeproj文件夹。在里面删除用你的用户名命名的任何东西。当你重新打开xcode时,这些文件将被重新创建,它应该可以工作......

4 - 手动删除项目的构建目录。

5 - 转到管理器窗口。选择项目,在左侧选择您的应用程序,然后删除“派生数据”

6 - 检查启动选项在产品 - >编辑方案中设置为“自动”,“运行”方案。

7 - 在项目 - >“编辑方案” - >运行。将调试器从GDB更改为无(这对我来说没有意义..)。

8 - 从Activity Monitor中杀死进程gdb-i386-apple-darwin。这是假设gdb没有响应。

9 - 在“产品”中 - >编辑方案。在“运行”中,单击yourappname.app,选择其他,导航到项目中的.app。现在跑。

10 - 检查项目中是否有两个不同的Info.plist。如果你这样做,删除坏的。


就我而言,他们都不做这项工作。我的项目成功构建,一切似乎都很好,.plist,包标识符,名称等等。仍然无法通过“附加”部分。我不明白这个的原因,所以任何修复它的建议并可能理解这个问题我会非常感激。

12 个答案:

答案 0 :(得分:18)

新项目未能在模拟器中启动,卡在连接步骤上。

这似乎是在安装Xcode 4.3之后,但我不记得我创建的最后一个新项目了。

这对我有用,来自这个线索的线索......

项目 - >“编辑方案” - >运行。将调试器从LLDB更改为GDB

另一台具有相同Xcode版本的计算机可以正常工作。也许我的LLDB已经腐败了?

答案 1 :(得分:3)

您最近是否升级到OSX 10.7.2?升级后,我开始遇到同样的问题。我注意到,如果我连接到强制强制网络门户认证的Wi-Fi网络,模拟器总会卡住。其他应用也会发生这种情况(Chrome,Safari)。我不确定为什么会这样,但我确实读到10.7.2与强制网络门户认证有问题。

无论如何,在我的情况下,我修复了磁盘工具的磁盘权限并重启了我的机器。这似乎解决了这个问题。

答案 2 :(得分:1)

在我的情况下似乎有所不同,也以不同的方式解决了。如果您在使用“为任何添加的文件夹创建文件夹引用”方式将一些文件或文件夹放入项目后每次都卡住了,这将是解决方案。

单击Xco​​de项目导航器上的项目节点(根节点),然后选择目标节点。这是在“目标”下。然后单击“构建阶段”选项卡。某些列表有4个部分,您可以单击三角形以展开列表。 您需要专注于“编译源”和“复制捆绑资源”部分。像.m 这样的代码文件必须放在“编译源”部分,并自动编译。像.jpg 这样的资源文件必须放在“复制包资源”部分,并复制到项目的包中。 因此,如果删除的文件和文件夹不在“复制包资源”列表中,只需将其从项目导航器拖放到列表中即可。这将解决问题。

如果不起作用,请删除所有引用的文件和文件夹,点击资源(或编译)部分的“+”按钮,然后点击“添加其他... < / strong>'按钮。然后,您可以将文件和文件夹包含为“为任何添加的文件夹创建文件夹引用”方式。我认为'拖放'在'+按钮'方式完成一次后效果很好。

此外,文件夹名称可能不允许使用“资源”。

每次我在Xcode 4.2~4.3.3上附加文件和文件夹作为参考时,我都遇到了“卡住”问题。重新安装mac对我来说是一项无用的工作。

答案 3 :(得分:1)

重新启动计算机对我有用。

答案 4 :(得分:1)

尝试了所有解决方案但没有适用于我的案例。 XCode 4.2,OS X 10.6.8 发现添加自定义应用程序图标时意外删除了Info.plist包标识符。添加后面修复了问题。 无论如何,这是我的修复,希望它有助于某人。

在弄清楚之前,发现我可以从另一个应用程序启动模拟器,然后使用模拟器上的应用程序图标找到无法附加的应用程序,然后以这种方式启动它。

答案 5 :(得分:1)

似乎有很多事情导致这种情况,但有一件事对我来说只是通过按Cmd + Option + Shift + K清除构建文件夹,或者如果你选择工具栏中的产品下拉列表并按住Option按钮,您会看到“Clean Build Folder”选项出现

答案 6 :(得分:1)

我也尝试了该主题的所有解决方案,但都失败了。但最后发现出了什么问题。

发生此问题的原因是我修改了Target-&gt; Build Settings中的某些设置以包含C标头。在我添加所有C头并使其构建之后。发生此问题。

它可能只适用于我之前描述的情况。

我刚刚创建了一个空项目并检查了附加卡住的应用和空卡应用之间的目标 - &gt;构建设置中的所有项目。结果发现,附着物中的一些物品与空物品不同。

所以我将其删除并成功附加。

答案 7 :(得分:0)

我在Lion中注意到,当iOS sim锁定或挂起应用程序时, 如果我去一个shell,做ps -ef |grep SDK,我会的 看到很多很多与模拟器相关的进程。

我试图杀掉这些进程,但他们迅速重生 然后唯一的解决方案是重启。另外,在ps输出中, 您还会看到您的应用运行的实例。

因此模拟器问题是由先前运行的进程引起的 这似乎阻止了最新的正确运行。 我猜Apple最终会解决这个问题,因为它非常麻烦。

答案 8 :(得分:0)

重新启动也适用于我,但这不是必需的。我建议在bugreport.apple.com提交错误。您可以复制the one I created - 复制的越多,Apple就越有可能解决问题。

答案 9 :(得分:0)

我尝试了上述所有解决方案,但没有运气...... 当我在这里搜索simular问题时: Xcode error: failed to launch [directory] -- invalid host string: 'localhost'

我发现它解决了我的问题! 希望这有助于那些仍在寻找线索的人。

答案 10 :(得分:0)

升级到XCode 4.6.2为我解决了这个问题

答案 11 :(得分:0)

即使在清理项目后没有附加应用程序,更改应用程序名称,通过重置模拟器重新启动,如果您使用的是LLDB编译器,那是因为LLDB编译器无法连接到本地调试服务器为了解决这个问题,看看这个

Why does the LLDB Debugger constantly fail to attach?

这真的解决了你的问题!