2012-09-26 7 views
24

Acabamos de actualizar nuestro SDK de Facebook para iOS a 3.1. Facebook SDK 3.0.8 no se ejecutó en iOS6, ahora que nos hemos actualizado a 3.1, se ejecuta en iOS 6, pero se bloquea bajo iOS 5.x.Facebook SDK 3.1 para iOS: se ejecuta en iOS6, pero se bloquea en iOS 5.x

debido AdSupport.framework aplicación se bloquea en iOS 5.x inmediatamente después de comenzar con el siguiente error:

dyld: Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport 

Referenced from: /Volumes/Macintosh HD/Users/dmitrybaranov/Library/Application Support/iPhone Simulator/5.0/Applications/D6A93996-1E58-48A5-A457-DBC4FCCEE0EB/app.app/app 
   
Reason: image not found 
(lldb) 

¿Alguien se enfrentan a ese problema? ¿Hay algún problema por parte de Facebook y están trabajando para arreglar esto?

¿O estamos haciendo algo mal?

Respuesta

58

¿Ha configurado los marcos para que sean opcionales? Cuando agrega AdSupport.framework, Social.framework y Accounts.framework, hay un menú desplegable a la derecha que puede seleccionar entre "Requerido" y "Opcional". Vea un ejemplo de imagen aquí: Link

Otra cosa que debe verificar es en la "Configuración de compilación" de su proyecto que 'Base SDK' es 6.0 y 'iOS Deployment Target' es iOS 4.3.

Puedo construir FB SDK 3.1 en mi iOS 5.1 con esta configuración.

+0

muchas gracias ... estaba a punto de volver a Xcode 4.3 y FBSDK 3.0 ... me salvó un montón de problemas ... – lukya

+0

Gracias - en realidad deberíamos actualizar la documentación en https://developers.facebook.com/ docs/getting-started/facebook-sdk-for-ios/3.1/upgrade-from-3.0/para reflejar esto también –

+0

Eso ya está hecho ;-) –

10

Si se orienta versiones iOS de menos de 6.0, tendrá que hacer AdSupport.framework, Social.framework, y Accounts.framework opcionalmente ligado.

Por favor, eche un vistazo a la captura de pantalla adjunta. enter image description here

Cheers ... !!!

+1

Esto funciona para mí, iOS5.1.1 y FB SDK 3.1. Gracias por mostrarlo claramente con un screencap. – GeneCode

+1

¡De nada! – VSN

+0

Gracias hombre :) realmente salvaste mi tiempo :) –

1

Para cualquiera que lea esto y use Facebook SDK 3.6+ para iOS, ya no es necesario que incluya estas bibliotecas o que las enlace opcionalmente. Ver el Facebook docs for Upgrading from 3.5 to 3.6:

"eliminar las dependencias marco añadido a su aplicación al instalar el Facebook SDK El SDK todavía depende de ellos, pero ahora carga ellos haciendo automáticamente la configuración más simple Remover estos marcos/bibliotecas:..

Accounts.framework

AdSupport.framework

Security.framework

Social.framework

libsqlite3.dylib [o quitar la bandera enlazador -lsqlite3.0]

[Nota: si su aplicación utiliza cualquiera de las API de esos marcos/bibliotecas directamente, el proyecto aún debe incluir explícitamente el marco]"

+0

@JoeBlow Quítelos de la lista 'Enlace binario con bibliotecas' en las configuraciones de Crear fases. No creo que haya ninguna consecuencia o efecto de dejarlos referenciados en Project Navigator. Puede eliminarlos de allí para reducir el desorden o reducir la confusión si tiene muchos objetivos y no está vinculando las bibliotecas con ninguno de sus objetivos. – MattyG

Cuestiones relacionadas