EXC_BREAKPOINT en appInviteDialog didCompleteWithResults delegate method | Invitación de la aplicación de Facebook

Recibo el siguiente informe de lockings de crashlytics. Mi aplicación falla al recibir el método delegado de appInviteDialog de Facebook sdk en iOS. El problema es ImplicitlyUnwrappedOptional, por lo que parece que Facebook está enviando nada en el método de delegado. Pero no estoy seguro. ¿Alguien tiene alguna idea si es un error en el SDK de FB o estoy haciendo algo mal?

Thread : Crashed: com.apple.main-thread 0 MY_APP 0x00000001000a7c28 function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Owned To Guaranteed, Arg[2] = Owned To Guaranteed> of MY_APP.GameScene.appInviteDialog (MY_APP.GameScene)(Swift.ImplicitlyUnwrappedOptional<ObjectiveC.FBSDKAppInviteDialog>, didCompleteWithResults : Swift.ImplicitlyUnwrappedOptional<Swift.Dictionary<ObjectiveC.NSObject, Swift.AnyObject>>) -> () (GameScene.swift:1569) 1 MY_APP 0x00000001000884c4 @objc MY_APP.GameScene.appInviteDialog (MY_APP.GameScene)(Swift.ImplicitlyUnwrappedOptional<ObjectiveC.FBSDKAppInviteDialog>, didCompleteWithResults : Swift.ImplicitlyUnwrappedOptional<Swift.Dictionary<ObjectiveC.NSObject, Swift.AnyObject>>) -> () (GameScene.swift) 2 MY_APP 0x00000001005588a4 -[FBSDKAppInviteDialog _invokeDelegateDidCompleteWithResults:] (FBSDKAppInviteDialog.m:143) 3 MY_APP 0x0000000100558744 -[FBSDKAppInviteDialog _handleCompletionWithDialogResults:error:] (FBSDKAppInviteDialog.m:124) 4 MY_APP 0x0000000100558510 __28-[FBSDKAppInviteDialog show]_block_invoke (FBSDKAppInviteDialog.m:83) 5 MY_APP 0x00000001005585f0 __28-[FBSDKAppInviteDialog show]_block_invoke64 (FBSDKAppInviteDialog.m:98) 6 MY_APP 0x000000010038b4c4 -[FBSDKApplicationDelegate applicationDidBecomeActive:] (FBSDKApplicationDelegate.m:178) 7 CoreFoundation 0x00000001862ee010 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 8 CoreFoundation 0x000000018622b0f0 _CFXNotificationPost + 2060 9 Foundation 0x000000018715aa80 -[NSNotificationCenter postNotificationName:object:userInfo:] + 72 10 UIKit 0x000000018ae47298 -[UIApplication _stopDeactivatingForReason:] + 516 11 UIKit 0x000000018b059458 -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:] + 2716 12 UIKit 0x000000018b04f9f0 -[UIApplication workspace:didReceiveActions:] + 128 13 FrontBoardServices 0x000000018eb893c8 __31-[FBSSerialQueue performAsync:]_block_invoke_2 + 32 14 CoreFoundation 0x00000001862fffc8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 20 15 CoreFoundation 0x00000001862ff0d0 __CFRunLoopDoBlocks + 312 16 CoreFoundation 0x00000001862fd6f4 __CFRunLoopRun + 1756 17 CoreFoundation 0x0000000186228f74 CFRunLoopRunSpecific + 396 18 GraphicsServices 0x000000018fc8b6fc GSEventRunModal + 168 19 UIKit 0x000000018ae2ad94 UIApplicationMain + 1488 20 MY_APP 0x00000001000c2c58 main (AppDelegate.swift:16) 21 libdyld.dylib 0x000000019866ea08 start + 4 

Aquí está mi código en el file GameScene. Tenga en count que es un método delegado:

 func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [NSObject : AnyObject]!) { if(results.count == 1){ println("facebook invite successful \(results)") if(self.isSaveMeButtonPressed){ Flurry.logEvent("FBInvite") var build = GAIDictionaryBuilder.createEventWithCategory("Growth", action: "Facebook", label: "FBInvite", value: nil).build() as [NSObject : AnyObject] googleTracker.send(build) } } } 

El número de línea que se muestra en el informe del locking es el corchete de cierre de la function (última línea de la function). Tenga en count que la aplicación no siempre falla, de hecho no he podido reproducir dicho fallo hasta ahora.

También me enfrenté a este tipo de error. [ViewController appInviteDialog: didCompleteWithResults:]: selector no reconocido enviado a instancia

Implementé los methods de delegado de FBSDKAppInviteDialog

 - (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results{ NSLog(@"app invite result: %@", results); BOOL complete = [[results valueForKeyPath:@"didComplete"] boolValue]; if (complete) { } } - (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didFailWithError:(NSError *)error{ NSLog(@"app invite error: %@", error.localizedDescription); } 

Implementa este dos delegado.

 (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results { NSLog(@"app invite result: %@", results); } (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didFailWithError:(NSError *)error { NSLog(@"app invite error: %@", error.localizedDescription); }