iphone - studio - Error de Xcode 4 al simbolizar el registro de bloqueo
provisioning profiles apple (6)
Acabo de actualizar mi Xcode a 4.0.1. Ahora tengo un problema con la simbolización de los registros de fallos recibidos de mi comprobador e incluso desde mi teléfono.
Cuando construyo la distribución AdHoc, estoy usando el esquema "Arhive", luego creo el archivo * .ipa cantándolo con mis credenciales de desarrollador.
¿Es este el problema? Y no puedo encontrar los archivos dSym para estas compilaciones AdHoc.
Además de la respuesta de Coob, encuentro que agregar estos directorios a la lista de ignorar de Spotlight (Preferencias del Sistema → Spotlight → Privacidad) ayuda:
-
~/Library/Developer/Xcode/DerivedData/
(Xcode 4 artefactos de construcción) -
~/Library/Application Support/iPhone Simulator/
(sistema de archivos para el simulador de iPhone)
Me gusta esto:
(Consulte esta publicación en el blog para obtener más detalles).
Actualización : a partir de un comentario de joerick : "Esto funciona, pero también significaba que Instruments.app no podía encontrar los símbolos de depuración, así que tuve que eliminar DerivedData de la lista de Privacidad para hacer algunos perfiles". - ten esto en cuenta si usas Instrumentos.
Creo que tuve este problema o algo similar. Xcode 4.0 no mostraba los símbolos de un bloqueo que tuve de un probador. Parecí solucionar esto abriendo el archivo xarchive que había creado y copiando el archivo dsym desde su interior (clic derecho y "ver el contenido del paquete") para colocarlo junto a él en la carpeta de archivo. No puedo garantizar que esta sea la solución. Estaba probando otras soluciones en ese momento, pero sé que tengo los símbolos ahora y antes. ¿Vale intentarlo?
El script de simbolización está teniendo problemas para encontrar el binario / dSYM correcto. Utiliza Spotlight para hacer esto y, a menudo se hincha. Aquí hay algunas cosas para probar:
Asegúrate de que tu .app no tenga espacio.
Puede ser que encuentres la versión de tu aplicación instalada en el simulador (al revés, pero a veces hace esto por mí). Restablece tu simulador.
Borre su directorio de compilación.
Para mí, ni la edición de la línea 323 ni las exclusiones de Spotlight lo arreglaron. Así que rastreé los problemas en symbolicatecrash
y publiqué una versión parcheada en github . Simplemente reemplace / usr / local / bin / symbolicatecrash y sus informes de bloqueo de iOS comenzarán a simbolizar nuevamente.
Es posible que este parche no funcione para las aplicaciones de Mac, ya que hace suposiciones sobre la estructura del directorio .xcarchive que no parece contener aplicaciones de escritorio.
Editar : aún puede tener problemas si Spotlight no ha indexado sus archivos. Puede obtener forzar un índice ejecutando lo siguiente en un terminal:
mdimport ~/Library/Developer/Xcode/Archives/
Más información sobre solución de problemas here .
Para ubicar un archivo dSYM basado en su ID en un registro de fallas que se ve así:
Imágenes binarias: 0x100000000 - 0x100021ff7 + com.developer.foobar 1.1 (2) <D1B7F956-7D79-3D4D-BA53-E9EBB368A9F8> /Aplicaciones/FooBar.app/Contents/MacOS/FooBar
tu puedes hacer:
mdfind com_apple_xcode_dsym_uuids == D1B7F956-7D79-3D4D-BA53-E9EBB368A9F8
Para las aplicaciones OSX creadas con "DWARF con dSYM", en realidad no necesita el archivo dSYM y puede usar el enfoque manual en https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATE_WITH_ATOS
Además para verificar el UID de un binario puedes hacer algo como
dwarfdump --uuid /Users/valexa/Desktop/GPSnote.app/GPSnote
UUID: 6194D2B0-4E61-3834-AD15-C279EB1848XX (armv7)
UUID: D1B7F956-7D79-3D4D-BA53-E9EBB368A9F8 (armv7s)
Tuve el mismo problema hoy. De mi investigación en la web, existe un problema con las bibliotecas de armv6 que hacen que el proceso de simbolización falle. Encontré la respuesta en los foros de desarrollo aquí .
Para aquellos que no tienen acceso, debe crear una copia del script symbolicatecrash
en /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/
. Edite el archivo y reemplace el ''dado'' en la línea 323 con una ''impresión'' (esta es la razón por la cual no funciona, el script falla aquí).
Luego ejecute symbolicatecrash
contra su registro de bloqueo. Verá el error de la línea 323, pero luego simbolizará todas sus líneas y variables. Todavía falla para las bibliotecas del sistema, pero proporciona suficiente información para corregir sus propios errores.
Espero que esto ayude.