Facebook SDK 3.1 presentShareDialogModally fails

前端 未结 3 699
北荒
北荒 2021-01-13 15:52

I\'m trying to test out the new built-in share \"sheet\" for Facebook on iOS 6 but when I run the sample code it doesn\'t show the sheet. Instead it posts a status for me wi

相关标签:
3条回答
  • 2021-01-13 16:39

    Did you set up the Facebook account on the device/simulator (under Settings->Facebook)?

    The native sheet dialogs are only presented when the app is running on ios 6 AND the user is authenticated through the ios 6 Facebook account. Otherwise, the handler does report that error and the presentShareDialogModallyFrom returns "NO". Also, the FBNativeDialogResult result in the handler will equal FBNativeDialogResultError.

    0 讨论(0)
  • 2021-01-13 16:51

    Make sure you're not opening sessions using deprecated methods (ie.openActiveSessionWithPermissions instead of the newer openActiveSessionWithReadPermissions/openActiveSessionWithWritePermissions) or the facebook sdk won't use native facebook integration (ie. native dialogs)

    0 讨论(0)
  • 2021-01-13 16:54

    You are missing some of the required frameworks:

    AdSupport.framework

    Account.framework

    Social.framework

    BOOL displayedNativeDialog =
    [FBNativeDialogs
     presentShareDialogModallyFrom:self
     initialText:self.shareText
     image:nil
     url:nil
     handler:^(FBNativeDialogResult result, NSError *error) {
         if (error) {
             /* handle failure */
             NSLog(@"error:%@, %@", error, [error localizedDescription]);
         } else {
             if (result == FBNativeDialogResultSucceeded) {
                 /* handle success */
                 NSLog(@"handle success");
             } else {
                 /* handle user cancel */
                 NSLog(@"user cancel");
             }
         }
     }];
    if (!displayedNativeDialog) {
        /* handle fallback to native dialog  */
    }
    
    0 讨论(0)
提交回复
热议问题