为什么在归档时Xcode 4.3.2会卡住?

4
当我尝试归档构建时,Xcode会出现五颜六色的旋转死机图标。它曾经很好用,但是除非我手动删除存档文件,否则我再也无法浏览存档了。我可以正常地将构建文件编译到设备上而没有任何问题。我手动删除了所有存档内容(通过删除实际的存档文件),因此存档/组织器窗格显示正常,因为里面没有任何东西(因为我删除了存档)。但是当我再次尝试进行归档时,它会构建,然后尝试再次打开存档/组织器窗口,然后就会卡住。它生成的存档文件大约有30兆字节...但我不敢使用它。
当旋转死机图标在运行时,打开“活动监视器”会显示以下内容: “xcodebuild”大约使用80%的CPU “opendirectoryd”大约使用30%的CPU。
我已经在Lion上卸载并重新安装了XCode 4.3.2,但没有结果。
我还从Unity3D构建项目。
在另一个线程中,有人提到了以下内容:“我遇到了类似的问题,发现我做的符号链接是问题的根源,从/Developer/usr/bin到/usr/bin(因为Xcode 4.3移动了一些执行文件)”
我没有任何类似的情况。将所有类移到新的“项目”中也没有帮助,因为每次从Unity内部构建时都会创建全新的项目。
XCode 4.3.2 Mac OS X(10.7.3)
任何想法或建议对我都非常有帮助。无论什么都行。 谢谢。
1个回答

5
快速解决方案:执行以下命令: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占用率大增。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接