Xcode 9迁移Mac后无法附加PID:Framework单元测试启动失败
解决Time Machine迁移后Framework单元测试报“Could not attach to pid”的问题
我之前也碰到过几乎一模一样的情况——用Time Machine迁移Mac后,应用本身和应用的单元测试都能正常跑,唯独Framework的单元测试一启动就弹出这个错误。折腾了好一会儿,总结出几个有效的解决方向,你可以挨个试试:
重置Xcode调试权限
迁移后系统的调试权限经常会出现同步异常,这是最常见的诱因。打开终端执行以下命令:sudo DevToolsSecurity -enable输入你的系统密码后,完全退出Xcode再重新打开,尝试运行测试。
检查Framework测试目标的配置
迁移过程中测试目标的签名或调试配置可能被打乱:- 选中Framework项目的测试目标,进入
Build Settings - 搜索
Debug Information Format,确保设置为DWARF with dSYM File - 切换到
Signing & Capabilities标签,确认签名身份是有效的(比如使用你的开发者账号或本地签名)
- 选中Framework项目的测试目标,进入
清理Derived Data并重启
迁移后的Xcode缓存数据很容易出现冲突:- 打开Xcode的
Settings(顶部菜单Xcode -> Settings),切换到Locations标签 - 找到
Derived Data,点击右侧箭头打开文件夹,删除里面所有内容 - 彻底退出Xcode(包括Dock里的后台进程),重启后再尝试运行测试
- 打开Xcode的
重置系统调试权限数据库
如果上面的方法都没效果,可以试试重置系统的调试授权:sudo rm /var/db/launchd.db/com.apple.launchd/overrides.plist sudo reboot重启电脑后打开Xcode,会弹出调试权限授权提示,点击允许即可。
另外,你也可以尝试在终端直接运行测试命令,看看能不能得到更详细的错误日志:
xcodebuild test -scheme "你的Framework测试Scheme名称" -destination 'platform=iOS Simulator,name=iPhone 15'
额外的错误提示能帮你更快定位问题。
内容的提问来源于stack exchange,提问作者AmineG
相关产品推荐
相关产品推荐

