Я получаю следующий отчет о сбоях от краш-тестов. Мое приложение падает при получении метода делегата 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)
}
}
}
Номер строки показано в докладе аварии является закрывающая скобка функции (последняя строка функции). Обратите внимание, что приложение не всегда сбой, на самом деле я до сих пор не смог воспроизвести упомянутый аварий.
Это может быть ошибка в самом SDK, собрать всю информацию вы можете получить и сообщить об этом в https://developers.facebook.com/bugs, непосредственно с коротким образцом проекта, который содержит только приложение пригласить код было бы полезно –
@ BjörnKaiser Да, ожидая увидеть, остается ли такая же проблема с новым SDK. Кстати, вы получили какие-либо руки в API GameKit? Недавно отправил вопрос о матче-реванше. Посмотрите, можете ли вы помочь. –