2012-02-07 9 views
5

Tengo Xcode 4.2.1 para Lion y se cuelga cada vez que abro algo en una nueva ventana (así, por ejemplo, haciendo doble clic en cualquier archivo). En este caso, el tipo no importa. Se bloqueará para .h, .m, .xib, .plist, etc .... He vuelto a instalar Xcode en vano. Esto no sucedió hasta hace poco, pero una vez que sucedió una vez, sigue sucediendo.XCode 4.2.1 bloqueos cada vez que se abre una nueva ventana

Parece que no tiene nada que ver con los elementos que están actualmente abiertos, ya que los cerré y abrí un nuevo proyecto, y todavía veo el problema.

ACTUALIZACIÓN: Consulte mi respuesta a continuación para ver cómo finalmente lo resolvió.

Aquí es la excepción que estoy recibiendo:

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 

Respuesta

0

La respuesta para mí terminó siendo una combinación de factores múltiples. Por alguna razón, Xcode 4.2.x estaba facilitando el problema. Finalmente me actualicé a Xcode 4.3, pero el problema aún ocurrió. Después de borrar las preferencias de Xcode (después de la actualización), el problema desapareció. Lo intenté varias veces con Xcode 4.2.x, pero incluso borrar las preferencias no resolvería el problema.

Me complace tener esto resuelto, pero no sé cómo resolverlo sin actualizar a Xcode 4.3.

1

restablecer su simulador, se puede almacenar en caché los datos incorrectos después de una actualización.

personas también he visto comportarse mal FIX aplicaciones de aplicaciones de compensación PREFS

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

acaba de copia de seguridad en primer lugar, que dijo ha vuelto a instalar, pero algunos instaladores no restablece de preferencias.

+0

No ocurre en el simulador, ocurre en Xcode. Sucede cuando el simulador ni siquiera se está ejecutando. – dtuckernet

0

He estado teniendo problemas similares en Xcode yo mismo y estoy viendo algunas personas alrededor de foros que experimentan errores relacionados con Xcode. podría ayudar a reparar los permisos de disco, pero realmente no puedo confirmarlo. pero vale la pena intentar

2

El seguimiento de la pila muestra un objeto NSArray que se envía el mensaje con la clave valueForKey:"file://localhost/Projects/SomeProject/SomeFile.plist". Esto simplemente envía valueForKey: a cada objeto en la matriz. Uno de los objetos es un vacío NSString que tiene sólo la aplicación 's de valueForKey:, que, naturalmente, no sabe nada acerca de la clave anterior (@"file://...") por lo que se produce una excepción por defecto NSObject.

El método que envía valueForKey: al NSArray es -[IDEWorkspaceDocument _defaultPrimaryEditorFrameSizeForDocumentURL:] en IDEKit.

Desarmé este método en IDEKit (/Developer/Library/PrivateFrameworks/IDEKit.framework/Versions/A/IDEKit) con el hopper disassembler.

Lo que llegué a la conclusión es que este método lee un NSArray de Xcode de [NSUserDefaults standardUserDefault], desde la llave @"IDEDefaultPrimaryEditorFrameSizeForPaths". A continuación, esta matriz se envía al valueForKey: con la ruta del archivo, con la esperanza de encontrar el tamaño del marco para el editor del archivo, pero en su lugar causa el error. El problema es, probablemente, que de alguna manera esta entrada NSUserDefaults convirtió válido (O es un NSArray con contenido inesperado, o que ni siquiera se supone que es un NSArray).

Por lo tanto, hay una buena posibilidad de borrar las preferencias de Xcode, como sugiere @RAZ :-) (No es seguro que ayude, ya que el usuario puede registrar Xpoints en tiempo de ejecución, pero podría).

Una solución alternativa (menos interesante pero pragmática :-)) es reinstalar Xcode en una ubicación distinta a la predeterminada. Cuando instala, puede elegir una carpeta de instalación personalizada. Esto instalará una copia nueva de Xcode al lado del original.

+0

Lamentablemente, borrar todas las preferencias no funcionó. Voy a probar la nueva instalación en breve. – dtuckernet

+0

Pruebe desde la terminal: 'default borre com.apple.dt.Xcode'. Asegúrese de salir de Xcode primero. – Danra

+0

Lo intenté antes, y no solucionó el problema. – dtuckernet

0

¿Solo un tiro en la oscuridad, ocurre en una nueva cuenta de usuario?

0

Así es como me fijo mío:

  • Ir -> Inicio -> Información de guardado automático -> todos los archivos relacionados con Xcode envían a basura
  • Finder -> Vaciar papelera
  • Apple -> reinicio
Cuestiones relacionadas