2015-09-03 2 views
3

Я получаю следующий отчет о сбоях от краш-тестов. Мое приложение падает при получении метода делегата appInviteDialog из Facebook sdk на iOS. Проблема заключается в ImplicitlyUnwrappedOptional, поэтому кажется, что facebook отправляет нуль по методу делегата. Но я не уверен. Кто-нибудь есть идеи, если это ошибка в FB SDK или я что-то не так?EXC_BREAKPOINT at appInviteDialog doCompleteWithResults метод делегата | Facebook App Пригласить

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 

Вот мой код в файле GameScene. Обратите внимание, что это метод делегата:

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) 
     } 
    } 
} 

Номер строки показано в докладе аварии является закрывающая скобка функции (последняя строка функции). Обратите внимание, что приложение не всегда сбой, на самом деле я до сих пор не смог воспроизвести упомянутый аварий.

+0

Это может быть ошибка в самом SDK, собрать всю информацию вы можете получить и сообщить об этом в https://developers.facebook.com/bugs, непосредственно с коротким образцом проекта, который содержит только приложение пригласить код было бы полезно –

+0

@ BjörnKaiser Да, ожидая увидеть, остается ли такая же проблема с новым SDK. Кстати, вы получили какие-либо руки в API GameKit? Недавно отправил вопрос о матче-реванше. Посмотрите, можете ли вы помочь. –

ответ

0

Я также столкнулся с такой ошибкой. [ViewController appInviteDialog: didCompleteWithResults]: непризнанные селектор направлен например

я реализовал методы делегата 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); 
    } 
0

Реализовать это два делегата.

(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); 
} 
Смежные вопросы