【问题标题】:error: failed to attach to process ID 0错误:未能附加到进程 ID 0
【发布时间】:2012-09-26 07:27:47
【问题描述】:

我一直在阅读论坛,到目前为止,建议的解决方案都不适合我。我正在运行 Xcode 4.4.1 并在 iPhone 5.1 模拟器中进行测试。模拟器将不再打开应用程序,并且出现上述错误。有什么想法或解决方案吗?

【问题讨论】:

标签: xcode4 ios-simulator


【解决方案1】:

我猜有人会在问题仅发生在一个项目中,而不是在每个项目中,并且在执行此问题页面上发布的许多解决方案后未能解决问题,例如 '删除应用程序直接在 ~/Library/Application Support/iPhone Simulator/6.0/Applications 和 ~/Library/Developer/Xcode/DerivedData', 'Cleaning all the logs by doing Project -> Clean' 和 'Cleaning all the log and contents in the iOS 模拟器菜单”和其他任何东西。

是的,我也最终没能解决这个问题。

对你来说,如果你遇到我上面提到的问题,这可能是一个解决方案: 创建一个具有相似名称的新项目,然后将之前项目文件夹中存在的所有类和资源文件复制并粘贴到新项目中,并将新项目与 Xcode 中复制文件之间的引用链接起来。 然后,按“Shift + Command + K”清理构建日志。

就我而言,这让我能够继续我的工作......

【讨论】:

    【解决方案2】:

    我遇到了同样的问题

    1.你可以删除下的App目录

    ~/Library/Application Support/iPhone Simulator/6.0/Applications



    ~/Library/Developer/Xcode/DerivedData

    2.然后你就可以启动Xcode了;在菜单栏中你可以找到Project -> Clean

    编辑:在上面复制/粘贴 1 之前,将模拟器版本更改为 你正在使用!

    【讨论】:

    • 在为我完成此操作后也重新启动
    • 我已经搜索了一个多小时,但没有任何效果。直到这个! :) 非常感谢!
    【解决方案3】:

    还有一个记录在案:(没有一个建议对我有用)

    山狮:XCode 4.6.3

    • moved the whole Application to Trash并删除了以下其他文件夹
    • /Users/[USERNAME]/Library/Developer
    • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
    • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

    • 重启系统并重新安装 XCode

    【讨论】:

      【解决方案4】:

      有时会发生这种情况,因为您有两个同名的项目。试试这个:

      1. 转到 xCode 首选项选择位置并单击 DerivedData 删除 DerivedData
      2. 重置并强制退出模拟器
      3. 强制退出 Xcode 并重新启动

      如果它不起作用,请重新启动您的电脑。

      【讨论】:

        【解决方案5】:

        我重新启动模拟器,它对我有用

        【讨论】:

          【解决方案6】:

          删除一些 xcconfig 文件后,我的应用程序没有正确的 BundleID。

          【讨论】:

            【解决方案7】:

            令人尴尬的深夜时刻,但只是为了完整性...当您单击模拟器上的“重置内容和设置”时,蓝色的大默认按钮当然会显示“不要重置”,而白色的其他小按钮说“重置”。如果您不注意,可能很难记住阅读按钮。我不敢相信我承认了这一点,但是,嘿,发生在我们所有人身上(对吧?:))

            【讨论】:

              【解决方案8】:

              更改产品名称后发生在我身上。

              重置模拟器,清理项目并重新启动 XCode 后,没有任何效果。 关闭并重新启动模拟器后,一切正常。

              【讨论】:

                【解决方案9】:

                有时这个问题是由于一个项目中有两个目标,两个目标都使用相同的包标识符但构建具有不同名称的产品。

                如前所述,删除设备/模拟器上的应用程序即可解决问题。

                【讨论】:

                  【解决方案10】:

                  清理(删除文件夹,或产品->清理)不起作用。

                  我看到在我的 .plist 中,bundle id 已被删除。感谢 git。我检查了文件,然后砰!部署到模拟器没问题。

                  只是分享...

                  【讨论】:

                  • 我的问题也是由于缺少 Bundle Id,谢谢。我宁愿感谢 Apple 没有显示“No Bundle Id set”警报...
                  • 我在开发时倾向于忽略警告
                  【解决方案11】:

                  第一步:ping

                  $ ping 本地主机

                  这应该返回类似

                  PING 本地主机 (127.0.0.1):56 个数据字节 来自 127.0.0.1 的 64 个字节:icmp_seq=0 ttl=64 time=0.028 ms 来自 127.0.0.1 的 64 个字节:icmp_seq=1 ttl=64 time=0.048 ms ...

                  如果可行,此答案将无法解决您的问题,请尝试其他方法。

                  如果 ping 返回其他内容,例如: ping: cannot resolve localhost: Unknown host 你的 /etc/hosts 文件搞砸了,转到第 2 步 第二步:检查 /etc/hosts

                  检查 /etc/hosts 文件的顶部是否如下所示

                  127.0.0.1 本地主机 255.255.255.255 广播主机 ::1 本地主机 fe80::1%lo0 本地主机

                  如果文件中没有这些条目,请在文件顶部输入它们,使用 $ dscacheutil -flushcache 刷新 dns 缓存并返回第 1 步,否则继续第 3 步。 Step3:正确的文件格式:应该是unix或者LF *

                  $ 文件 /etc/hosts

                  这应该返回:/etc/hosts: ASCII 英文文本

                  如果它返回 /etc/hosts: ASCII 英文文本,带有 CR 行终止符,则该文件格式错误,可能会被忽略。

                  使用您喜欢的文本编辑器将文件行结尾更改为 unix 或 LF。

                  In Sublime Text 2 this can be done throught the view menue: View > Line Endings > Unix
                  

                  刷新 dns 缓存 ($ dscacheutil -flushcache) 并返回步骤 1

                  【讨论】:

                    【解决方案12】:

                    最后,我发现问题在于我有一个名为“resources”的文件夹,用于存储我的所有图像。当我将文件夹的名称更改为 XCode 在其他地方不太可能使用的名称时,我完成了整个删除派生数据/清理/重新启动 XCode 的操作!

                    【讨论】:

                    • 你会认为 Apple 会解决这个问题,“resources”是开发人员最常用的文件夹名称。
                    • 如果我可以投票 1000 次,我会的。这也是我的问题!
                    • 我也是。就我而言,我有 Resources 的初始上限。苹果的真正令人难以置信的错误。
                    【解决方案13】:

                    我遇到了这个问题,因为我在同一台机器上运行 iOS 模拟器的另一个用户。以其他用户身份登录并退出模拟器(和 Xcode)在我的情况下解决了它。

                    【讨论】:

                      【解决方案14】:

                      删除 iOS 模拟器上的应用。 它对我有用。

                      【讨论】:

                      • 我尝试了其他每个解决方案,但最终需要这样做才能纠正问题。谢谢TK189!
                      【解决方案15】:

                      当您在 xcode 版本之间切换时会发生这种情况。 简单的解决方案是退出 xcode 和模拟器。 重新启动 xcode,同时在运行前清理模拟器。这应该可以解决问题。

                      【讨论】:

                        【解决方案16】:

                        上面提到的对我没有任何帮助。 但正如我之前发现的那样,我(或其他实体)以某种方式从我的 /etc/hosts 文件中删除了记录,我得到了同样的错误。

                        您应该检查您的 /etc/hosts 文件中是否有“127.0.0.1 localhost”行。 由于缺少此行,LLDB 调试器正在生成问题。

                        因此,如果 /etc/hosts 中缺少 127.0.0.1,只需添加它即可。

                        这对我有帮助!

                        【讨论】:

                          【解决方案17】:

                          如果您为企业分发准备文件并最终将生成的 .ipa 和 .plist 保存在项目目录中,也会发生这种情况,从而覆盖您的项目 plist。发生这种情况时,您会知道,因为项目配置中的版本信息和主窗口将是空白的。如果发生这种情况,请从源代码管理中恢复您的旧 plist...并将您的产品文件保存在其他地方!

                          【讨论】:

                            【解决方案18】:

                            点击模拟器并通过转到“iOS模拟器”主菜单并选择“重置内容和设置...”来重置模拟器

                            返回 XCode,选择菜单“产品”>“编辑方案”。在左侧菜单面板上,单击“运行_Your_Project_Name_.app”>“运行_Your_Project_Name.app”。右侧的信息显示应将“调试过程为”单选按钮选为“我(您的用户名)”。如果没有,请确保您没有以 root 身份登录。在 Stackoverflow 上有很多报告说以 root 运行会出现问题

                            接下来,仍然在 Xcode 中,转到菜单“Window”>“Organizer”。在顶部菜单上,单击“项目”。继续并删除“派生数据”。

                            最后,转到“~/Library/Application Support/iPhone Simulator/6.0/Applications”并删除其中的所有内容

                            【讨论】:

                              【解决方案19】:

                              重置模拟器并退出模拟器然后重建运行。它对我有用

                              【讨论】:

                                【解决方案20】:

                                每次我遇到这个问题(实际上经常如此)时,我都会从模拟器中卸载应用程序(就像用户在设备上一样)并在 XCode 上进行清理。下一个构建和运行工作。

                                我还可以重置模拟器内容和设置以使其工作,但这似乎是使用火箭筒杀死苍蝇。

                                【讨论】:

                                  【解决方案21】:

                                  进入IOS模拟器工具栏,点击Reset Content and Settings...

                                  【讨论】:

                                  • 这可行,但并不总是需要重置内容:通常我只需卸载应用程序即可。
                                  • 这个问题发生在我有两个目标时。运行一个会破坏另一个,导致我不断使用“重置内容和设置”。该问题在一位同事更改了构建设置中的 MyCFBundleID 后得到解决,因此这两个目标将具有不同的名称。这一切都可以正常工作,而无需使用“重置内容和设置”。功能。
                                  • 非常感谢 Scoota - 我已经尝试了我能想到的一切,并且差点放弃,但这解决了我的问题。
                                  【解决方案22】:

                                  我遇到了同样的问题,我发现您无法在 Mac 上使用 root 帐户。如果您以 root 身份登录,则无法将进程附加到模拟器。您必须使用其他帐户登录。

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2012-07-17
                                    • 2014-01-22
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2017-01-06
                                    • 1970-01-01
                                    • 2011-02-23
                                    相关资源
                                    最近更新 更多