簡體   English   中英

Xcode 在啟動時崩潰

[英]Xcode crashes on launch

我正在為 iOS 開發一個應用程序,我在應用程序中沒有做任何更改。 但是在我的 Mac 重新啟動時,Xcode 每次都會崩潰。

不知道這是否重要,但我的聚光燈找不到任何應用程序,而且當我打開取景器並使用快捷方式 cmd + shift + HI 時,會看到一個白色窗口。

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,一切都很好。

通過在終端中運行此命令刪除~/Library/Developer/Xcode/DerivedData

rm -r ~/Library/Developer/XCode/DerivedData

如果這不起作用,此時根據給定的信息,我只能建議刪除並重新安裝 Xcode。

如果刪除 ~/Library/Developer/Xcode/DerivedData 對您不起作用,請嘗試以下步驟刪除 xcuserdata:

  • 打開 Finder 窗口並導航到您的項目
  • 右鍵單擊 .xcodeproj OR.xcworkspace 文件
  • 選擇顯示包裝內容
  • 出現一個新窗口
  • 刪除名為 xcuserdata 的文件夾

我有一個我選擇了一個非常大的文件,當它試圖解析它時 xcode 崩潰了。 然后當我以某種方式重新啟動它時,它設置為在啟動時加載該文件。 我看到的唯一方法是臨時重命名它在開始時嘗試加載的文件,這樣它就會加載為空。

我建議從您的.xcodeproj.xcworkspace文件中刪除xcuserdata:文件夾(使用顯示包內容打開),然后重試。

我希望這會奏效。

確保您的 SPM 包/依賴項沒有問題。

這只是另一個建議。 我剛剛花了一些時間在一個相當流行的開源項目上調試它。

當我更新 SPM 包時,我的 Xcode 第一次崩潰,所以我相當確定這是該包中未來提交之一的問題或 SPM 錯誤。 我訂閱了奧卡姆剃刀,所以我開始檢查提交中的更改。

一段時間后,我在 contents.xcplayground 中發現了一個重復的 Swift Playground 頁面聲明。 我刪除了那一行,推送了 PR,之后一切正常。

為了能夠重新打開項目:

  1. 在您選擇的代碼編輯器(例如 vi、nano、emacs、atom、代碼)中打開project.pbxproj
  2. /* Begin XCRemoteSwiftPackageReference section *//* Begin XCSwiftPackageProductDependency section */部分中刪除有問題的包。
  3. 保存文件,Xcode 現在應該打開了。

同樣,如果您的 Xcode 在打開項目時立即崩潰(並且您上次更新/自動更新了 SPM 包),請檢查您的包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM