2012-02-07 17 views
5

Ho Xcode 4.2.1 per Lion e si blocca ogni volta che apro qualcosa in una nuova finestra (quindi, ad esempio, facendo doppio clic su qualsiasi file). In questo caso, il tipo non ha importanza. Crollerà per .h, .m, .xib, .plist, ecc .... Ho reinstallato Xcode inutilmente. Questo non è accaduto fino a poco tempo fa - ma una volta accaduto una volta - continua ad accadere.XCode 4.2.1 si blocca ogni volta che viene aperta una nuova finestra

Sembra che non abbia nulla a che fare con gli articoli attualmente aperti, poiché li ho chiusi tutti e aperto un nuovo progetto e vedo ancora il problema.

AGGIORNAMENTO: Vedere la risposta sotto per come ho finalmente risolto questo problema.

Ecco l'eccezione sto ottenendo:

UNCAUGHT EXCEPTION (NSUnknownKeyException): [<__NSCFConstantString 0x7fff7e9e38e0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key file://localhost/Projects/SomeProject/SomeFile.plist. 
UserInfo: { 
    NSTargetObjectUserInfoKey = ""; 
    NSUnknownUserInfoKey = "file://localhost/Projects/SomeProject/SomeFile.plist"; 
} 
Hints: None 
Backtrace: 
    0 0x00007fff979c426a __exceptionPreprocess (in CoreFoundation) 
    1 0x00007fff983acd5e objc_exception_throw (in libobjc.A.dylib) 
    2 0x00007fff97a4e4c9 -[NSException raise] (in CoreFoundation) 
    3 0x00007fff8f9a8783 -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] (in Foundation) 
    4 0x00007fff8f8df462 _NSGetUsingKeyValueGetter (in Foundation) 
    5 0x00007fff8f8df3e9 -[NSObject(NSKeyValueCoding) valueForKey:] (in Foundation) 
    6 0x00007fff8f8df101 -[NSArray(NSKeyValueCoding) valueForKey:] (in Foundation) 
    7 0x000000010a2ced12 -[IDEWorkspaceDocument _defaultPrimaryEditorFrameSizeForDocumentURL:] (in IDEKit) 
    8 0x000000010a307d62 -[IDEWorkspaceWindowController _changeSizeForSimpleEditorWindowLayoutWithEditorDocumentURLOrNil:workspaceTabController:] (in IDEKit) 
    9 0x000000010a30827d -[IDEWorkspaceWindowController _revertForNewWindowWithTabStateContext:documentURL:simpleEditorWindowLayout:completionBlock:] (in IDEKit) 
10 0x000000010a2cf795 -[IDEWorkspaceDocument _makeTabbedWindowControllerWithStateFromTabController:documentURL:simpleEditorWindowLayout:frontmost:completionBlock:] (in IDEKit) 
11 0x000000010a2f4188 +[IDEEditorCoordinator _doOpenIn_NewWindow_withWorkspaceTabController:documentURL:usingBlock:] (in IDEKit) 
12 0x000000010a2f4c41 +[IDEEditorCoordinator _doOpenIn_SeparateWindow_withWorkspaceTabController:documentURL:usingBlock:] (in IDEKit) 
13 0x000000010a2599ba +[IDEEditorCoordinator _doOpenWithWorkspaceTabController:editorContext:target:allowFallback:documentURL:usingBlock:] (in IDEKit) 
14 0x000000010a2f4dd5 +[IDEEditorCoordinator _doOpenEditorOpenSpecifier:forWorkspaceTabController:editorContext:target:takeFocus:] (in IDEKit) 
15 0x000000010a259353 -[_IDEOpenRequest _runIfNecessary] (in IDEKit) 
16 0x000000010a258d3a -[_IDEOpenRequest _enqueueForEventBehavior:] (in IDEKit) 
17 0x000000010a258855 +[IDEEditorCoordinator _openRequestForEditorOpenSpecifier:workspaceTabController:editorContext:eventBehavior:takeFocus:] (in IDEKit) 
18 0x000000010a2587ac __99+[IDEEditorCoordinator _openEditorOpenSpecifier:forWorkspaceTabController:eventBehavior:takeFocus:]_block_invoke_0 (in IDEKit) 
19 0x000000010a258740 _performBlockInsideReentrantGuard (in IDEKit) 
20 0x000000010a2586b5 +[IDEEditorCoordinator _openEditorOpenSpecifier:forWorkspaceTabController:eventBehavior:takeFocus:] (in IDEKit) 
21 0x000000010a25839d +[IDEEditorCoordinator openEditorOpenSpecifier:forWorkspaceTabController:eventType:] (in IDEKit) 
22 0x000000010a2579a1 -[IDEOutlineBasedNavigator _openNavigableItem:eventType:] (in IDEKit) 
23 0x00007fff979b3a1d -[NSObject performSelector:withObject:] (in CoreFoundation) 
24 0x00007fff8df32710 -[NSApplication sendAction:to:from:] (in AppKit) 
25 0x0000000109b1fd10 -[DVTApplication sendAction:to:from:] (in DVTKit) 
26 0x000000010a207cf4 -[IDEApplication sendAction:to:from:] (in IDEKit) 
27 0x00007fff8df32642 -[NSControl sendAction:to:] (in AppKit) 
28 0x000000010a25776f -[IDENavigatorOutlineView sendAction:to:] (in IDEKit) 
29 0x00007fff8df98f48 -[NSTableView _sendAction:to:row:column:] (in AppKit) 
30 0x00007fff8df95d0f -[NSTableView mouseDown:] (in AppKit) 
31 0x00007fff8e313592 -[NSOutlineView mouseDown:] (in AppKit) 
32 0x000000010a256274 -[IDENavigatorOutlineView mouseDown:] (in IDEKit) 
33 0x00007fff8defb0e0 -[NSWindow sendEvent:] (in AppKit) 
34 0x00007fff8de9368f -[NSApplication sendEvent:] (in AppKit) 
35 0x000000010a207a11 -[IDEApplication sendEvent:] (in IDEKit) 
36 0x00007fff8de29682 -[NSApplication run] (in AppKit) 
37 0x00007fff8e0a880c NSApplicationMain (in AppKit) 
38 0x0000000109901eec (in Xcode) 
39 0x0000000000000002 

risposta

0

La risposta per me è stata una combinazione di più fattori. Per qualche ragione, Xcode 4.2.x stava facilitando il problema. Ho finalmente aggiornato a Xcode 4.3 - ma il problema si è verificato ancora. Dopo aver eliminato le preferenze per Xcode (dopo l'aggiornamento) il problema è andato via. Ho provato questo numero di volte con Xcode 4.2.x - ma anche la cancellazione delle preferenze non avrebbe risolto il problema.

Sono contento di averlo risolto, ma non so come risolvere senza passare a Xcode 4.3.

1

reset vostro simulatore, è possibile memorizzare nella cache i dati cattivi dopo un aggiornamento.

persone che ho anche visto fix comportamento anomalo applicazioni da app di compensazione PREFS

http://hints.macworld.com/article.php?story=20001229001847541

solo di backup prima, hai detto che reinstallato ma alcuni installatori Non reimpostare preferenze.

+0

Non si verifica nel simulatore, si verifica in Xcode. Succede quando il simulatore non è nemmeno in esecuzione. – dtuckernet

0

Ho riscontrato problemi simili in Xcode e sto vedendo alcuni forum in cui sono presenti bug relativi a Xcode. potrebbe aiutare a riparare i permessi del disco, ma non posso davvero confermarlo. ma vale la pena provare

2

La traccia di stack mostra un oggetto NSArray a cui viene inviato il messaggio valueForKey: con la chiave "file://localhost/Projects/SomeProject/SomeFile.plist". Questo semplicemente invia valueForKey: a ciascun oggetto nell'array. Uno degli oggetti è uno NSString vuoto che ha solo l'implementazione di default NSObject di valueForKey:, che naturalmente non sa nulla della chiave sopra (@"file://...") quindi genera un'eccezione.

Il metodo che invia valueForKey: al NSArray è -[IDEWorkspaceDocument _defaultPrimaryEditorFrameSizeForDocumentURL:] in IDEKit.

Quindi ho disassemblato questo metodo in IDEKit (/Developer/Library/PrivateFrameworks/IDEKit.framework/Versions/A/IDEKit) utilizzando hopper disassembler.

Quello che ho concluso è che questo metodo legge un NSArray da Xcode [NSUserDefaults standardUserDefault], dalla chiave @"IDEDefaultPrimaryEditorFrameSizeForPaths". Questo array viene quindi inviato con il percorso del file valueForKey:, sperando di trovare la dimensione del fotogramma per l'editor del file ma causando invece l'errore. Il problema è probabilmente che in qualche modo questa voce NSUserDefaults non è più valida (O è un NSArray con contenuti inattesi, o non dovrebbe nemmeno essere un NSArray).

così, c'è una buona probabilità di compensazione preferenze di Xcode aiuterà, come suggerito da @RAZ :-) (Non è certo che vi aiuterà, come i valori di default utente possono essere registrati da Xcode in fase di esecuzione - ma potrebbe).

Una soluzione alternativa (meno interessante ma pragmatica :-)) è reinstallare Xcode in un percorso diverso da quello predefinito. Quando si installa, è possibile scegliere una cartella di installazione personalizzata. Questo installerà una nuova copia di Xcode fianco a fianco accanto all'originale.

+0

Purtroppo non è stato possibile eliminare tutti i prefs. Proverò a breve la nuova installazione. – dtuckernet

+0

Provare dal terminale: 'defaults delete com.apple.dt.Xcode'. Assicurati di uscire prima da Xcode. – Danra

+0

L'ho provato prima e non ha risolto il problema. – dtuckernet

0

Solo uno scatto al buio, si verifica in un nuovo account utente?

0

Ecco come ho risolto la mia:

  • Vai -> Home -> Salvataggio automatico Informazioni -> tutti i file relativi Xcode inviare a spazzatura
  • Finder -> Vuota Cestino
  • Apple -> restart
Problemi correlati