FBSDKShareDialog of Facebook SDK is not working on iOS9?

后端 未结 2 738
囚心锁ツ
囚心锁ツ 2020-12-14 12:49

With Xcode7, I upgrade Facebook SDK to pod FBSDKShareKit (4.6.0). And I have added Facebook scheme to WhiteList as below. reference: https://developers.facebook.com/docs/io

相关标签:
2条回答
  • 2020-12-14 13:05

    I'm guessing Facebook changed the behaviour because iOS 9 now pops up a dialog asking if you would like to "Open Facebook?" when doing app-switching. Even for FBSDKLoginManager, the app-switching (native) method seems to be less preferred than a modal UIWebView.

    However, you can still force the share dialog to switch to the Facebook app (assuming you have your application plist setup as described in https://developers.facebook.com/docs/ios/ios9) by using this method:

    FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init];
    
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fbauth2://"]]){
        dialog.mode = FBSDKShareDialogModeNative;
    }
    else {
        dialog.mode = FBSDKShareDialogModeBrowser; //or FBSDKShareDialogModeAutomatic
    }
    dialog.shareContent = content;
    dialog.delegate = self;
    dialog.fromViewController = self;
    [dialog show];
    
    0 讨论(0)
  • 2020-12-14 13:10

    In iOS 9 below is the only solution that worked for me to detect if facebook app is installed in the device or not:

     NSString *urlString = @"fbapi://";
        NSURL *url1 = [NSURL URLWithString:urlString];
    
        if ([[UIApplication sharedApplication] canOpenURL:url1]) {
            [[UIApplication sharedApplication] openURL:url1];
        }
        else {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itunes link for download app"]];
        }
    
    0 讨论(0)
提交回复
热议问题