关于XCode5打开工程闪退的一种解决方案

今天同事遇到一个问题,是关于xcode5打开工程文件一直闪退的问题。后来查看了一下崩溃日志。有如下描述:

xception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 5A1412
ASSERTION FAILURE in /SourceCache/DVTFoundation/DVTFoundation-3532/Framework/Classes/Protocols/DVTInvalidation.m:243
Details:  <IDESourceControlCredentialsValidator, 0x7faec5e3c9b0> was never invalidated.

Backtrace for allocation (if _creationBacktrace is set):
 (null)
Object:   <IDESourceControlCredentialsValidator: 0x7f86dceeb080>
Method:   -dealloc
Thread:   <NSThread: 0x7f86d8414c80>{name = (null), num = 1}
Hints:   None
Backtrace:
  0  0x000000010e3a1188 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
  1  0x000000010d137655 _DVTAssertionHandler (in DVTFoundation)
  2  0x000000010d137984 _DVTAssertionFailureHandler (in DVTFoundation)
  3  0x000000010d20c6a6 _DVTInvalidation_DeallocSuper (in DVTFoundation)
  4  0x000000010e33e2a3 -[IDESourceControlSSLAuthenticationWindowController .cxx_destruct] (in IDEKit)
  5  0x00007fff8c00bfcc object_cxxDestructFromClass(objc_object*, objc_class*) (in libobjc.A.dylib)
  6  0x00007fff8c005922 objc_destructInstance (in libobjc.A.dylib)
  7  0x00007fff8c005fa0 object_dispose (in libobjc.A.dylib)
  8  0x000000010d161995 __DVTSetupKVODeallocAssertions_block_invoke_371 (in DVTFoundation)
  9  0x00007fff865797fa -[NSResponder dealloc] (in AppKit)
 10  0x00007fff864af162 -[NSWindowController dealloc] (in AppKit)
 11  0x00007fff86623901 -[NSWindowController release] (in AppKit)
 12  0x00007fff867595b0 -[NSAutounbinder dealloc] (in AppKit)
 13  0x00007fff8c006230 (anonymous namespace)::AutoreleasePoolPage::pop(void*) (in libobjc.A.dylib)
 14  0x00007fff87a0cd72 _CFAutoreleasePoolPop (in CoreFoundation)
 15  0x00007fff8c52447a -[NSAutoreleasePool drain] (in Foundation)
 16  0x00007fff8657a27e -[NSApplication run] (in AppKit)
 17  0x00007fff8651ebd6 NSApplicationMain (in AppKit)
 18  0x00007fff91f377e1 start (in libdyld.dylib)

abort() called

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff903ad212 __pthread_kill + 10
1   libsystem_c.dylib               0x00007fff8a7fcb54 pthread_kill + 90
2   libsystem_c.dylib               0x00007fff8a840dce abort + 143
3   com.apple.dt.IDEKit             0x000000010e3a0a93 +[IDEAssertionHandler _handleAssertionWithLogString:reason:] + 763
4   com.apple.dt.IDEKit             0x000000010e3a12ee -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] + 1117
5   com.apple.dt.DVTFoundation      0x000000010d137655 _DVTAssertionHandler + 421
6   com.apple.dt.DVTFoundation      0x000000010d137984 _DVTAssertionFailureHandler + 322
7   com.apple.dt.DVTFoundation      0x000000010d20c6a6 _DVTInvalidation_DeallocSuper + 480
8   com.apple.dt.IDEKit             0x000000010e33e2a3 -[IDESourceControlSSLAuthenticationWindowController .cxx_destruct] + 94
9   libobjc.A.dylib                 0x00007fff8c00bfcc object_cxxDestructFromClass(objc_object*, objc_class*) + 100
10  libobjc.A.dylib                 0x00007fff8c005922 objc_destructInstance + 91
11  libobjc.A.dylib                 0x00007fff8c005fa0 object_dispose + 22
12  com.apple.dt.DVTFoundation      0x000000010d161995 __DVTSetupKVODeallocAssertions_block_invoke_371 + 264
13  com.apple.AppKit                0x00007fff865797fa -[NSResponder dealloc] + 129
14  com.apple.AppKit                0x00007fff864af162 -[NSWindowController dealloc] + 616
15  com.apple.AppKit                0x00007fff86623901 -[NSWindowController release] + 159
16  com.apple.AppKit                0x00007fff867595b0 -[NSAutounbinder dealloc] + 51
17  libobjc.A.dylib                 0x00007fff8c006230 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 464
18  com.apple.CoreFoundation        0x00007fff87a0cd72 _CFAutoreleasePoolPop + 34
19  com.apple.Foundation            0x00007fff8c52447a -[NSAutoreleasePool drain] + 154
20  com.apple.AppKit                0x00007fff8657a27e -[NSApplication run] + 736
21  com.apple.AppKit                0x00007fff8651ebd6 NSApplicationMain + 869
22  libdyld.dylib                   0x00007fff91f377e1 start + 1
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x00007fff903add16 kevent + 10
1   libdispatch.dylib               0x00007fff8641cdea _dispatch_mgr_invoke + 883
2   libdispatch.dylib               0x00007fff8641c9ee _dispatch_mgr_thread + 54
Thread 2:: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib          0x00007fff903ab686 mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff903aac42 mach_msg + 70
2   com.apple.CoreFoundation        0x00007fff87a0c233 __CFRunLoopServiceMachPort + 195
3   com.apple.CoreFoundation        0x00007fff87a11916 __CFRunLoopRun + 1078
4   com.apple.CoreFoundation        0x00007fff87a110e2 CFRunLoopRunSpecific + 290
5   com.apple.Foundation            0x00007fff8c501546 +[NSURLConnection(Loader) _resourceLoadLoop:] + 356
6   com.apple.Foundation            0x00007fff8c55f562 __NSThread__main__ + 1345
7   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
8   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 3:
0   libsystem_kernel.dylib          0x00007fff903ab686 mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff903aac42 mach_msg + 70
2   com.apple.CoreFoundation        0x00007fff87a0c233 __CFRunLoopServiceMachPort + 195
3   com.apple.CoreFoundation        0x00007fff87a11916 __CFRunLoopRun + 1078
4   com.apple.CoreFoundation        0x00007fff87a110e2 CFRunLoopRunSpecific + 290
5   com.apple.DTDeviceKitBase       0x000000011466875a -[DTDKRemoteDeviceDataListener listenerThreadImplementation] + 164
6   com.apple.Foundation            0x00007fff8c55f562 __NSThread__main__ + 1345
7   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
8   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 4:: com.apple.CFSocket.private
0   libsystem_kernel.dylib          0x00007fff903ad322 __select + 10
1   com.apple.CoreFoundation        0x00007fff87a50f46 __CFSocketManager + 1302
2   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
3   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 5:: DYMobileDeviceManager
0   libsystem_kernel.dylib          0x00007fff903ab686 mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff903aac42 mach_msg + 70
2   com.apple.CoreFoundation        0x00007fff87a0c233 __CFRunLoopServiceMachPort + 195
3   com.apple.CoreFoundation        0x00007fff87a11916 __CFRunLoopRun + 1078
4   com.apple.CoreFoundation        0x00007fff87a110e2 CFRunLoopRunSpecific + 290
5   com.apple.Foundation            0x00007fff8c5647ee -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 268
6   com.apple.Foundation            0x00007fff8c4fd1aa -[NSRunLoop(NSRunLoop) run] + 74
7   com.apple.GPUToolsMobileFoundation  0x0000000118afe9bb -[DYMobileDeviceManager _deviceNotificationThread:] + 132
8   com.apple.Foundation            0x00007fff8c55f562 __NSThread__main__ + 1345
9   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
10  libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 6:: CVDisplayLink
0   libsystem_kernel.dylib          0x00007fff903ad0fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff8a7fffe9 _pthread_cond_wait + 869
2   com.apple.CoreVideo             0x00007fff8b5872a1 CVDisplayLink::runIOThread() + 689
3   com.apple.CoreVideo             0x00007fff8b586fd7 startIOThread(void*) + 148
4   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
5   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 7:
0   libsystem_kernel.dylib          0x00007fff903ad0fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff8a7fffe9 _pthread_cond_wait + 869
2   com.apple.Xcode.DevToolsCore    0x0000000113436166 -[XCBlockQueue _processBlocksInThreadSlotNumber:] + 506
3   com.apple.Foundation            0x00007fff8c55f562 __NSThread__main__ + 1345
4   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
5   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 8:
0   libsystem_kernel.dylib          0x00007fff903ad0fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff8a7fffe9 _pthread_cond_wait + 869
2   com.apple.Xcode.DevToolsCore    0x0000000113436166 -[XCBlockQueue _processBlocksInThreadSlotNumber:] + 506
3   com.apple.Foundation            0x00007fff8c55f562 __NSThread__main__ + 1345
4   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
5   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 9:
0   libsystem_kernel.dylib          0x00007fff903ad0fa __psynch_cvwait + 10
1   libsystem_c.dylib               0x00007fff8a7fffe9 _pthread_cond_wait + 869
2   com.apple.Xcode.DevToolsCore    0x0000000113436166 -[XCBlockQueue _processBlocksInThreadSlotNumber:] + 506
3   com.apple.Foundation            0x00007fff8c55f562 __NSThread__main__ + 1345
4   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
5   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 10:
0   libsystem_kernel.dylib          0x00007fff903ad6d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff8a7fdf4c _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff8a7fdd13 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff8a7e81d1 start_wqthread + 13
Thread 11:
0   libsystem_kernel.dylib          0x00007fff903ad6d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff8a7fdf4c _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff8a7fdd13 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff8a7e81d1 start_wqthread + 13
Thread 12:
0   libsystem_kernel.dylib          0x00007fff903ad6d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff8a7fdf4c _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff8a7fdd13 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff8a7e81d1 start_wqthread + 13
Thread 13:
0   libsystem_kernel.dylib          0x00007fff903ad6d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff8a7fdf4c _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff8a7fdd13 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff8a7e81d1 start_wqthread + 13
Thread 14:
0   libsystem_kernel.dylib          0x00007fff903ad6d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff8a7fdf4c _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff8a7fdd13 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff8a7e81d1 start_wqthread + 13
Thread 15:
0   libsystem_kernel.dylib          0x00007fff903ad6d6 __workq_kernreturn + 10
1   libsystem_c.dylib               0x00007fff8a7fdf4c _pthread_workq_return + 25
2   libsystem_c.dylib               0x00007fff8a7fdd13 _pthread_wqthread + 412
3   libsystem_c.dylib               0x00007fff8a7e81d1 start_wqthread + 13
Thread 16:
0   libsystem_kernel.dylib          0x00007fff903ab686 mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff903aac42 mach_msg + 70
2   com.apple.CoreFoundation        0x00007fff87a0c233 __CFRunLoopServiceMachPort + 195
3   com.apple.CoreFoundation        0x00007fff87a11916 __CFRunLoopRun + 1078
4   com.apple.CoreFoundation        0x00007fff87a110e2 CFRunLoopRunSpecific + 290
5   com.apple.DebugSymbols          0x00007fff8728a590 SpotlightQueryThread(void*) + 356
6   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
7   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 17:
0   libsystem_kernel.dylib          0x00007fff903ad386 __semwait_signal + 10
1   libsystem_c.dylib               0x00007fff8a885800 nanosleep + 163
2   com.apple.CoreSymbolication     0x00007fff8fee2358 0x7fff8fecc000 + 90968
3   libsystem_c.dylib               0x00007fff8a7fb7a2 _pthread_start + 327
4   libsystem_c.dylib               0x00007fff8a7e81e1 thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000006  rcx: 0x00007fff52b72108  rdx: 0x0000000000000000
  rdi: 0x0000000000000c07  rsi: 0x0000000000000006  rbp: 0x00007fff52b72130  rsp: 0x00007fff52b72108
   r8: 0x00007fff769b7278   r9: 0x0000000000000141  r10: 0x0000000020000000  r11: 0x0000000000000206
  r12: 0x00007fff52b72248  r13: 0x000000010ea71680  r14: 0x00007fff769b8180  r15: 0x00007fff52b721f0
  rip: 0x00007fff903ad212  rfl: 0x0000000000000206  cr2: 0x00007f86d883a400
Logical CPU: 0

后来直接google了下DVTInvalidation.m。没想到竟然搜到stackoverflow上有人遇到了这个问题。然后就顺利解决这个问题了。
以下就是解决方案:To prevent xCode5 from Crashing follow these steps. Xcdoe > Preferences > Source Control > Uncheck the Enable Source control . 
来自于stackoverflow上的两篇文章:
http://stackoverflow.com/questions/18905900/xcode-5-crashes-xcode-quit-unexpectedly
http://stackoverflow.com/questions/18890986/xcode-5-crashes-with-svn-version-1-7-self-signed-certificate
记录下这个问题的原因是想告诉自己:
1.遇到问题要会分析问题。像xcode的闪退,有崩溃日志存在,那就要去好好分析它的日志。推荐阅读如下文章:http://www.raywenderlich.com/zh-hans/30818/ios%E5%BA%94%E7%94%A8%E5%B4%A9%E6%BA%83%E6%97%A5%E5%BF%97%E6%8F%AD%E7%A7%98
2.如果看不懂问题的话,那怎么办?要会提出问题,把问题的关键点寻找出来,然后寻求帮助。

你可能感兴趣的:(iOS)