iOS模拟器上的
Xcode 9.2调试对我来说已经彻底破坏了.
我花了几个小时研究这个问题并尝试了大量的建议,但没有完全擦除我的硬盘并开始安装新的操作系统.我最终向Apple提交了一个错误.如果有人遇到此问题并有任何建议,请在此处发布.
摘要:
尝试使用调试可执行文件在调试模式下构建和运行时.模拟器只将应用程序打开到白色屏幕,然后Xcode弹出错误:
Could not attach to pid: "<a process id>" Ensure "<app>" is not already running,and "<user>" has permission to debug it.
重现步骤:
制作任何项目并尝试在任何模拟器上运行.
预期成绩:
调试器成功附加到调试器.
实际结果:
调试器永远无法连接到iOS模拟器进程/应用程序进行调试.
调试器CAN可以在物理设备上成功连接和构建并运行.
版本/编译:
– Xcode版本9.2(9C40b)
– macOS Sierra 10.12.6
– 任何iOS项目
– 任何iOS模拟器
其他说明:
– Xcode 9.2工作正常,直到这个问题随机开始.错误最初说:
Failed to initiate service connection to simulator DTServiceHubClient Failed to bless service hub for simulator iPhone 8 Plus <simulator identifier>
– 重新启动计算机后,错误转移到“无法连接到pid …”
我尝试了几十种建议的解决方案,但没有完全擦除我的电脑,包括:
>在模拟器上重置设备内容和设置
>创建新设备(甚至不同的设备和操作系统组合)
>尝试不同的Xcode项目,甚至是简单的一次性单视图应用程序
>查看etc / hosts文件并验证localhost是否可以ping通
>多次重启计算机
>删除派生数据(多次)
>让它在没有附加调试器的情况下构建和运行,然后尝试通过“附加到进程ID”附加调试器
>完全卸载Xcode和所有模拟器,然后重新安装.
>删除钥匙串中的任何无效证书
解决方法
事实证明我们的安全软件阻止了调试器.运行sudo sysdiagnose帮我找到一个日志条目,显示它被阻止了.该软件是Cb Defense(Carbon Black Defense).显然,唯一的解决方法是让您的安全团队通过哈希进行白名单,并且该哈希值可能在将来发生变化.