我正在开发一个iOS应用程序,我在应用程序中没有改变任何内容。但是在我的Mac重新启动时,Xcode每次都会崩溃。
不知道这是否重要,但我的聚光灯找不到任何应用程序,当我打开取景器并使用快捷键cmd + shift + H时,我看到一个白色的窗口。
Xcode不再启动并抛出此错误:
Process: Xcode [1346]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 7.2 (9548)
Build Info: IDEFrameworks-9548000000000000~7
App Item ID: 497799835
App External ID: 814662604
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [1346]
Date/Time: 2015-12-24 11:01:44.753 +0100
OS Version: Mac OS X 10.11.2 (15C50)
Report Version: 11
Time Awake Since Boot: 4000 seconds
System Integrity Protection: enabled
Crashed Thread: 4 Dispatch queue: DVTFilePathEventWatcher - event queue
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
VM Regions Near 0:
-->
__TEXT 0000000108a5a000-0000000108a5e000 [ 16K] r-x/rwx SM=COW /Applications/Xcode.app/Contents/MacOS/Xcode
Application Specific Information:
ProductBuildVersion: 7C68
Thread 0:: Dispatch queue: DVTFilePath cache derivation lock for key DVTFilePathKey_SortedDirectoryContents
0 libobjc.A.dylib 0x00007fff8df27aa0 search_method_list(method_list_t const*, objc_selector*) + 2
1 libobjc.A.dylib 0x00007fff8df28d76 lookUpImpOrForward + 413
2 libobjc.A.dylib 0x00007fff8df22591 objc_msgSend + 209
3 com.apple.dt.DVTFoundation 0x0000000108a741f8 -[DVTFileSystemVNode addCachedEntriesFromDictionary:] + 215
4 com.apple.dt.DVTFoundation 0x0000000108bd2e2d __33-[DVTFilePath cachedValueForKey:]_block_invoke549 + 245
5 libdispatch.dylib 0x00007fff9fcbd33f _dispatch_client_callout + 8
6 libdispatch.dylib 0x00007fff9fcbe926 _dispatch_barrier_sync_f_invoke + 74
7 com.apple.dt.DVTFoundation 0x0000000108cd1005 DVTDispatchBarrierSync + 62
8 com.apple.dt.DVTFoundation 0x0000000108a69627 -[DVTDispatchLock performLockedBlock:] + 116
9 com.apple.dt.DVTFoundation 0x0000000108a715b0 -[DVTFilePath cachedValueForKey:] + 1802
10 com.apple.dt.DVTFoundation 0x0000000108a70afc -[DVTToolchainRegistry scanSearchPathAndRegisterToolchains:] + 563
11 com.apple.dt.IDEFoundation 0x00000001097d1a66 IDEInitialize + 655
12 com.apple.dt.IDEKit 0x0000000109ecdf7c -[IDEApplicationController applicationWillFinishLaunching:] + 708
13 com.apple.CoreFoundation 0x00007fffa18fa70c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
14 com.apple.CoreFoundation 0x00007fffa18fa67f ___CFXRegistrationPost_block_invoke + 63
15 com.apple.CoreFoundation 0x00007fffa18f9d47 _CFXRegistrationPost + 407
16 com.apple.CoreFoundation 0x00007fffa18f9ab2 ___CFXNotificationPost_block_invoke + 50
17 com.apple.CoreFoundation 0x00007fffa18f3d42 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1922
18 com.apple.CoreFoundation 0x00007fffa17e2145 _CFXNotificationPost + 693
19 com.apple.Foundation 0x00007fff9ef36921 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
20 com.apple.dt.DVTFoundation 0x0000000108c6cf55 -[NSNotificationCenter(DVTNSNotificationCenterAdditions) _dvt_postNotificationName:object:userInfo:] + 698
21 com.apple.AppKit 0x00007fff9db412c2 -[NSApplication finishLaunching] + 354
22 com.apple.dt.DVTKit 0x0000000109275f62 -[DVTApplication finishLaunching] + 149
23 com.apple.AppKit 0x00007fff9db40e05 -[NSApplication run] + 231
24 com.apple.AppKit 0x00007fff9dac3520 NSApplicationMain + 1176
25 libdyld.dylib 0x00007fff9a8605ad start + 1
由于权限冲突,这可能是一个问题吗?
解答:
我从OSX-Drive更改权限后,每个人都可以写和读。一切正常。但我知道这是一个临时解决方案,所以我决定重新安装我的MAC,一切都很好。
答案 0 :(得分:13)
在终端中运行此命令删除~/Library/Developer/Xcode/DerivedData
:
rm -r ~/Library/Developer/XCode/DerivedData
如果这不起作用,此时并且在给定信息的情况下,我建议您删除并重新安装Xcode。
答案 1 :(得分:3)
如果〜/ Library / Developer / Xcode / DerivedData的删除对您不起作用,请尝试以下步骤删除xcuserdata:
答案 2 :(得分:1)
我建议同时从xcuserdata:
和.xcodeproj
文件中删除.xcworkspace
文件夹(使用“显示包内容”打开),然后重试。
我希望这会起作用。
答案 3 :(得分:0)
我有一个地方选择了一个很大的文件,当它试图解析它时崩溃了xcode。然后,当我重新启动它时,它将以某种方式设置为在启动时加载该文件。我看到的唯一方法是临时重命名它在启动时尝试加载的文件,以便将其加载为空。
答案 4 :(得分:0)
确保您的 SPM 包/依赖项没有问题。
这只是另一个建议。我刚刚花了一些时间在一个相当流行的开源项目上调试它。
当我更新 SPM 包时,我的 Xcode 第一次崩溃,所以我相当确定这是该包中未来提交的一个问题或 SPM 错误。我订阅了 Occam's Razor,所以我开始检查提交中的更改。
一段时间后,我在 contents.xcplayground 中发现了重复的 Swift Playground 页面声明。我删除了那一行,推送了 PR,之后一切正常。
为了能够重新打开项目:
project.pbxproj
。/* Begin XCRemoteSwiftPackageReference section */
和 /* Begin XCSwiftPackageProductDependency section */
部分删除有问题的一个或多个包。同样,如果您的 Xcode 在打开项目时立即崩溃(并且您上次更新/自动更新了 SPM 包),请检查您的包。