parse example parse.com parsefacebookutils

parse.com - parse server example



PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) dando error de compilaciĆ³n (3)

Es un error en ParseSDK. Hasta que Parse lo solucione, puede cambiar la declaración de la función de inicialización en el archivo de encabezado PFFacebookUtils.h

1) Ve a PFFacebookUtils.h

2) cambio:

  • (void) initializeFacebookWithApplicationLaunchOptions: (NSDictionary *) launchOptions;

A:

  • (void) initializeFacebookWithApplicationLaunchOptions: (PF_NULLABLE NSDictionary *) launchOptions;

Esta respuesta fue proporcionada por Kiarash Akhlaghi en https://developers.facebook.com/bugs/1462780714012820/

Intento integrar el inicio de sesión de Facebook en mi aplicación de análisis. Seguí cada paso mencionado en el tutorial de análisis. En el siguiente código, recibo un error de compilación.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. line1: Parse.setApplicationId("xxx", clientKey: "yyy") line2: PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) line3: PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) line4: return true }

En la línea 3 , recibo un error:

El valor del tipo opcional '' [NSObject:AnyObject] '' no está [NSObject:AnyObject] ; ¿Quisiste usar '' ! ''o'' ? ¿?

Si lo desenvuelvo manualmente usando '' ! '', porque launchOptions puede ser nulo, obtengo:

Error fatal: encontrado inesperadamente nulo mientras desenvuelve un valor opcional

Si reviso por nulo, obtengo:

NSInternalInconsistencyException '', razón:'' Debe inicializar PFFacebookUtils con una llamada a +initializeFacebookWithApplicationLaunchOptions

¿Alguna de idea de cómo arreglarlo?


Este problema persistió hasta que actualicé a la biblioteca Parse 1.8.1 .

Traté de ajustar PFFacebookUtils.h, y muchas otras cosas, pero eso no lo resolvió. Me estaba volviendo loco.


El problema fue un error de ParseSDK, no acepta nil launchOptions

De acuerdo con la respuesta proporcionada por Roger Ingouacka en https://developers.facebook.com/bugs/1462780714012820/

if let launchOptions = launchOptions { PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) } else { PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions([NSObject:AnyObject]()) }

Observe el uso de

[NSObject:AnyObject]()