快速解决方案:执行以下命令:xcode-select -switch /Applications/Xcode.app/Contents/Developer/
我是如何找到这个解决方案的:
打开opendirectoryd调试日志:“odutil set log debug”
在/var/logs/opendirectoryd.log文件中搜索。
我一直看到这个日志块不停地重复:
2012-04-12 11:29:28.420 CDT - 31053.1185984,模块:SystemCache - 信号量发出更多工作的信号
2012-04-12 11:29:28.420 CDT - 31053.1185984,模块:SystemCache - 完成响应对象0x7fae5b21acb0,请求完成
2012-04-12 11:29:28.420 CDT - 31053 - 客户端:'xcodebuild',退出0个会话、0个节点和0个活动请求
2012-04-12 11:29:28.421 CDT - 触发器 - 新节点触发器观察'opendirectoryd:nodes;(register|unregister);.*'
2012-04-12 11:29:28.421 CDT - semaphore_wait将等待 - 最大数量的成员调用已经在飞行中
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - 客户端:xcodebuild,UID:501,EUID:501,GID:20,EGID:20
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - 添加到全局请求列表 - 新计数1
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - mbr_identifier_to_uuid请求,UID:501
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - semaphore_wait将等待 - max_active_work
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - semaphore_wait将等待 - workq
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - 提交到管道
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - 执行请求管道
2012-04-12 11:29:28.421 CDT - 31053.1185985,模块:SystemCache - 缓存命中 - dev14 (0x59574CC0)
2012年04月12日11点29分28.421秒CDT-31053.1185985,模块:SystemCache-提交到响应管道
2012年04月12日11点29分28.421秒CDT-31053.1185985,模块:SystemCache-执行响应管道-0x10ba2f670
2012年04月12日11点29分28.421秒CDT-31053.1185985,模块:SystemCache-mbr_identifier_to_uuid完成,交付1个结果
2012年04月12日11点29分28.421秒CDT-31053.1185985,模块:SystemCache-从全局请求列表中删除
2012年04月12日11点29分28.421秒CDT-31053.1185985,模块:SystemCache-为更多工作发出信号量
2012年04月12日11点29分28.421秒CDT-31053.1185985,模块:SystemCache-完成响应对象0x10ba2f670,请求已完成
2012年04月12日11点29分28.421秒CDT-31053-客户端:'xcodebuild',退出了0个会话、0个节点和0个活动请求
2012年04月12日11点29分28.422秒CDT-触发器-new node trigger watching for 'opendirectoryd:nodes;(register|unregister);.*'
2012年04月12日11点29分28.422秒CDT-semaphore_wait将等待-最大数量的成员调用已经在进行中
2012年04月12日11点29分28.422秒CDT-31053.1185986,模块:SystemCache-客户端:xcodebuild,UID:501,EUID:501,GID:20,EGID:20
2012年04月12日11点29分28.422秒CDT-31053.1185986,模块:SystemCache-添加到全局请求列表-新计数1
2012年04月12日11点29分28.422秒CDT-31053.1185986,模块:SystemCache-mbr_identifier_to_uuid请求,UID:501
2012年04月12日11点29分28.422秒CDT-31053.1185986,模块:SystemCache-semaphore_wait将等待-max_active_work
2012年04月12日11点29分28.422秒CDT-31053.1185986,模块:SystemCache-semaphore_wait将等待-workq
我在谷歌上搜索了其中一个字符串,并在苹果开发者论坛上找到了以下解决方案:
看起来旧的xcodebuild命令被新版Xcode安装程序遗留在那里。执行“xcode-select -switch /Applications/Xcode.app/Contents/Developer/”和“make clean”后,项目完美构建。
确实,现在可以工作了。可能是一些不正确的符号链接。许多其他人似乎遇到了opendirectoryd的问题,并且破损的符号链接导致CPU占用率大增。