2010-11-23 27 views
23

Probablemente una pregunta tonta. Al ejecutar mi proyecto en el dispositivo en el modo de depuración consigo una gran cantidad de advertencias al que tiene la siguiente secuencia:Problema con iphone sdk 4.2.1

warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148a)/Symbols/System/Library/PrivateFrameworks/

Creo que es debido al espacio entre "4.2.1" y "(8C148a)". ¿Cómo puedo deshacerme de eso? Debe ser un ajuste en algún lugar de Xcode.

No tengo estas advertencias en el simulador.

gracias de antemano, cristianos

Respuesta

27

Tuve este problema con 4.2.1 (8C148a), que creo que es causado por diferentes archivos de DeviceSupport en el teléfono y en XCode. He intentado muchas cosas, pero finalmente se resolvió mediante la supresión de esta carpeta:

/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148a)/

Después de esto He conectado mi dispositivo iOS y estaba se le pidió que conectara y restaurara los archivos de símbolos del dispositivo, y funcionó normalmente de nuevo.

+3

Esto no funcionó para mí. Cambié el nombre de la carpeta y luego conecté mi iPhone4. Corrió en la depuración y aún aparece la advertencia. – elcool

+0

¡Genial! funcionó para mí. –

+0

Tienes que eliminarlo. Xcode y el script de simbolización seguirán encontrándolo (probablemente a través de Spotlight). Utilicé el script de simbolización con la opción verbosa y noté que hacía referencia a la carpeta después de moverla al escritorio.) –

1

que he visto errores como que cuando el dispositivo no estuviese en la misma versión que lo que yo estaba construyendo para. ¿Estás seguro de que no estás en una versión beta 4.2?

+0

comprobé pero obtuve el SDK más reciente que es "final". Luego actualicé mi teléfono a través de iTunes. Pero estoy reinstalando el SDK en este momento – Chrizzz

2

Cuando conecta un dispositivo iOS (iPad) con un sistema operativo ligeramente más nuevo que los del SDK, debe aparecer un botón para descargar nuevos símbolos en la ventana Organizador de Xcode. Golpéalo y espera.

+0

Recibí ese mensaje cuando conecté mi iPad, pero no cuando conecté el iPhone con 4.2.1 después. Ahora puedo depurar en mi iPad pero recibir advertencias de soporte del dispositivo y bloquear mi iPhone. –

+0

El bloqueo es mi problema de código pero incluso después de eliminar /4.2.1 (8C134)/y Organizador solicitando que se descarguen los símbolos, sigo recibiendo una advertencia: no se pueden leer símbolos para /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148) /Symbols/usr/lib/info/dns.so (archivo no encontrado). si entiendes más, comenzaré una nueva pregunta. –

+0

esa es exactamente la última advertencia que todavía tengo. Leí en algún lado que se supone que es inofensivo. A no puede encontrar ningún problema tampoco. Veremos. Acabo de enviar una actualización a Apple con esta advertencia todavía presente. – Chrizzz

1

No creo que 8C148a sea "final"; los números finales de versiones nunca parecen terminar en una carta (mi teléfono informa "4.2.1 (8C148)"). Aún no he depurado las aplicaciones (me aburrí esperando que extrajera símbolos y me fui a casa).

4.2 GM era 8C134, por lo que ciertamente está ejecutando un software más nuevo, pero algo en algún lugar es obtener el número de compilación incorrecto.

Pero estoy divagando.


qué directorios se encuentran en /Developer/Platforms/iPhoneOS.platform/DeviceSupport? Si "4.2.1 (8C148a)" no existe, pero "4.2.1" lo hace, es posible que tenga la suerte de hacer algo como esto en la Terminal:

cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport 
ln -s "4.2.1" "4.2.1 (8C134a)" 

De manera equivalente, si "4.2.1 (8C148)" que existe, hacer algo como esto en su lugar:

ln -s "4.2.1 (8C148)" "4.2.1 (8C148a)" 

general, usted puede utilizar este truco para conseguir Xcode para hablar con un dispositivo de beta sin necesidad de instalar un SDK beta; esto es útil si su empresa tiene algunas personas que ejecutan la versión beta (para fines de prueba) y otras personas en la última versión "final" (para fines de publicación).

+0

Gracias, eso ayudó. Acabo de eliminar una de las últimas carpetas que me estaba dando conflictos y volví a conectar mi iPhone. Se actualizaron los símbolos rotos. –

0

Hay una falta de coincidencia en el momento, en que la versión de lanzamiento de 4.2.1 está por delante de la versión 4.2 del SDK

@ comentario de Khrob fija para mí, sin embargo!

38

que estaba recibiendo:

advertencia: No se puede leer símbolos de /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (archivo (8C148) /Symbols/usr/lib/info/dns.so extraviado).

La versión 4.2.1 no incluye 'info/dns.so'. Al menos ese fue el caso para mí. Sin embargo, existe en el directorio 4.2 y se apunta por el/DeviceSupport/último atajo. Simplemente copié-pegué 'info/dns.so' al lugar donde el depurador lo estaba buscando y que pareció arreglar la advertencia.

+1

Esto es lo que tuve que hacer para que funcione también. Gracias por la info! –

+0

gracias, lo copié, lo que solucionó ese error ... pero xcode todavía tiene errores como el infierno – daidai

+0

Esto funcionó para mí. Tuve que hacer esto para resolver este error: 'advertencia: no se pueden leer símbolos para /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib' – GarlicFries

0

Hasta que proporcionan un SDK sólida, una solución fresca es:

1 - seleccione el archivo ejecutable (En 'ejecutables' en el explorador de proyectos),

2 - obtener información y apagar "Pausa el depurador() y DebugStr() "*

Cheers, y los mejores deseos para el año 2011.

T

Esto no deshabilita NSLog.

0

Tengo 4.2.1 en un iPhone 3G y Xcode 3.2.5 ejecutándose en una MacBook Pro con 10.6.6. Después de una instalación limpia de Xcode, recibí el mensaje para descargar símbolos para 4.2.1 después de conectar mi iPhone. Después de la transferencia, ya no recibí el aviso cuando conecté el iPhone, pero recibía toneladas de mensajes de "imposibilidad de leer símbolos".

En primer lugar, lo que no funcionó para mí:

  • Crear enlace simbólico a '4,2 (8C134)' con el nombre '4.2.1 (8C148)'
  • Crear enlace simbólico dentro del directorio '4.2 0,1 (8C148)' como que hay en '4,2 (8C134)' a la ../../Developer/SDKs/iPhoneOS4.2.sdk

Tanto de lo anterior causó la 'errores de desadaptación UUID' para varias bibliotecas. GDB comenzaría pero parece colgarse.

Por último, lo que está actualmente trabajando para mí:

  • % cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • % mkdir '4.2.1 (8C148)' # si no existe
  • % cd '4.2.1 (8C148)'
  • % cp ../ 4.2 \ \ (8C134 \)/DeveloperDiskImage.dmg *.
  • % cp -r ../../Developer/SDKs/iPhoneOS4.2.sdk Símbolos
  • Intenta ejecutar la sesión de depuración de una aplicación y mira la consola. Para cada una advertencia sobre un desajuste UUID, eliminar el archivo indicado en el mensaje de registro (que tenía AudioToolbox, CoreMedia, y algunos otros)
  • parada BGF e intentarlo de nuevo, espero que con éxito

Al menos para mi aplicación en desarrollo, todo ahora funciona bien. Con suerte, Xcode 4.0 aclarará esto.