【问题标题】:xcode crash each time I try to modify my source code每次我尝试修改源代码时,xcode 都会崩溃
【发布时间】:2013-03-25 07:37:56
【问题描述】:

我在 OSX Mountain Lion 10.8.3 上使用 Xcode 4.6.1

今天早上,我已将源代码从我的 macbook air 转移到我的 iMac。

现在,每次我尝试修改源代码时,XCode 都会崩溃!

例如,如果我开始写这样的东西: [ [ 任何类

XCode 将崩溃并显示此消息:无法添加具有相同标识符的另一个用户 sn-p,您只能覆盖系统 sn-ps。

但如果我之前在文本编辑器中编写代码,然后将其粘贴到 XCode 中,它可以工作!

我不明白...我已经清空了我的派生数据,清理了我的项目,清空了 /var/folders 目录,重新启动了我的 iMac ...

非常感谢您的帮助!

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
ProductBuildVersion: 4H512
ASSERTION FAILURE in /SourceCache/IDECodeSnippetLibrary/IDECodeSnippetLibrary-2055/Source/IDECodeSnippetRepository.m:320
Details:  Cannot add another user snippet with the same identifier, you can only override system snippets.
Object:   <IDECodeSnippetRepository: 0x4050a98c0>
Method:   -addCodeSnippet:
Thread:   <NSThread: 0x40030a220>{name = (null), num = 1}
Hints:   None
Backtrace:
  0  0x000000010b681a2a -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
  1  0x000000010a9255f4 _DVTAssertionFailureHandler (in DVTFoundation)
  2  0x000000010f40f975 -[IDECodeSnippetRepository addCodeSnippet:] (in IDECodeSnippetLibrary)
  3  0x000000010f40fcfb -[IDECodeSnippetRepository _loadUserCodeSnippets] (in IDECodeSnippetLibrary)
  4  0x000000010f40ee63 -[IDECodeSnippetRepository init] (in IDECodeSnippetLibrary)
  5  0x000000010f4150c4 __44+[IDECodeSnippetRepository sharedRepository]_block_invoke (in IDECodeSnippetLibrary)
  6  0x00007fff94b950b6 _dispatch_client_callout (in libdispatch.dylib)
  7  0x00007fff94b95041 dispatch_once_f (in libdispatch.dylib)
  8  0x000000010f40ecaa +[IDECodeSnippetRepository sharedRepository] (in IDECodeSnippetLibrary)
  9  0x000000010f416cbe __102+[IDECodeSnippetLibraryCompletionStrategy _generateCompletionsForScopes:language:platformNames:atBOL:]_block_invoke (in IDECodeSnippetLibrary)

【问题讨论】:

  • 听起来可能与 Xcode 代码 sn-ps 有关。尝试删除~/Library/Developer/Xcode/UserData/CodeSnippets的文件
  • @Matthias,你是对的!这是因为 DropBox 在我的 sn-ps 文件夹中检测到一些冲突。在这种情况下,Dropbox 会制作一个扩展名为 .conflict 但名称相同的文件的副本。而且,对于 XCode,似乎 2 个 sn-ps 具有相同的名称。非常感谢您的帮助!

标签: xcode crash


【解决方案1】:

完全归功于 Matthias,这个问题似乎与为您的代码 sn-ps 使用云源密切相关。我很久以前就这样做了,并且喜欢我的所有 Mac 上的自定义代码 sn-ps 的无缝可用性(iMac 27" at work,rMBPro 和 MBAir)。这种代码 sn-ps 的云存储也可以快速设置昨天,我挖了一个我一年前用于开发的旧 MBAir,当我同步 Dropbox 时,我的 sn-ps 肯定有一些冲突,因为我上次使用后更改了说MBAir。Dropbox 会在名称后附加一小段文本,表明它是一个冲突的副本。不幸的是,Xcode 不认为这是一个不同的文件,并认为它是一个副本(这是不允许的)。

为了解决,我只是删除了有冲突的副本(它们都是旧版本),启动 Xcode 并没有问题。

如果有人对做这种 Dropbox 同步 sn-ps 感兴趣:

http://irockios.com/xcode-code-snippets-everywhere/

【讨论】:

    【解决方案2】:

    它与xcode代码sn-ps有关。使用 xcode 5.1,当我尝试修改源代码 XCode 时,我将我的 sn-p 代码添加到 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/SystemCodeSnippets.codesn-ps崩溃!

    所以我删除了 SystemCodeSnippets.codesn-ps 中的所有 sn-p 代码,xcode 现在可以正常工作了!

    【讨论】:

    • 这不是 OP 问题的答案。
    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多