2012-05-31 12 views
7

¿Las constantes NSString pueden estar débilmente vinculadas? AVCaptureSessionPresetiFrame960x540 no está definido antes de iOS 5. Evito realmente hacer referencia a él y se carga bien en gdb, pero cuando cargo un ipa, parece bloquearse en dyld antes de invocar a main.¿Pueden las constantes NSString estar vinculadas débilmente?

La pregunta relacionada, Using Weakly Linked Framework's extern constants Crash, parece decir "no" y he tomado el mismo apporoach: usando el valor de cadena directamente.

+0

Puede no estar relacionado, pero encontré que el enlazador se comporta de forma diferente en lo que respecta a los símbolos de enlace débil al compilar para un archivo .ipa: http://stackoverflow.com/a/10265140/19679. Tuve que decirle a los usuarios de mi framework que vinculen de manera explícitamente débil el marco de Core Video para evitar bloqueos en las compilaciones ad-hoc o App Store. –

+0

Más o menos exactamente lo que he encontrado desde la publicación también. Solo falla el archivo ipa y el marco Opcional soluciona el error. – smparkes

+0

En mi lista de cosas para hacer para WWDC es muy importante localizar a los ingenieros y ver si esto es un error o simplemente me falta algo sobre esa parte del proceso de compilación. –

Respuesta

6

Las constantes también pueden estar débiles. Para probar si la constante está disponible debe comprobar si su dirección no es NULL antes de intentar usarlo:

if (&AVCaptureSessionPresetiFrame960x540 != NULL) { 
    // Constant is available and can be used 
} 

Nota & el operador para tomar la dirección de la constante.

Cuestiones relacionadas