首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook SDK的FBSDKShareDialog不能在iOS9上工作吗?

Facebook SDK的FBSDKShareDialog不能在iOS9上工作吗?
EN

Stack Overflow用户
提问于 2015-09-18 11:46:09
回答 2查看 11.8K关注 0票数 8

使用Xcode7,我将Facebook SDK升级到pod FBSDKShareKit (4.6.0)。我已经将Facebook方案添加到WhiteList中,如下所示。参考:https://developers.facebook.com/docs/ios/ios9

代码语言:javascript
复制
<key>LSApplicationQueriesSchemes</key>
<array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
</array>

但是,以下代码仅显示iOS9上的iOS默认社交对话框。在iOS8上使用相同的二进制代码可以打开Facebook应用程序并正确显示共享对话框。

代码语言:javascript
复制
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.example.com"]];
content.contentDescription = @"Test";
[FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];

我猜在iOS9上找不到Facebook应用程序,然后显示默认的社交对话框。甚至没有显示错误消息。

我错过什么了吗?或者,这是一个iOS9错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-18 14:31:00

我猜脸书改变了这种行为,因为iOS 9现在弹出一个对话框,问你是否想要“打开脸书”?进行应用程序切换时。即使对于FBSDKLoginManager,应用程序切换(原生)方法似乎也不如模式UIWebView更受欢迎。

但是,您仍然可以使用以下方法强制共享对话框切换到Facebook应用程序(假设您已经按照https://developers.facebook.com/docs/ios/ios9中所述设置了应用程序plist ):

代码语言:javascript
复制
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];
票数 32
EN

Stack Overflow用户

发布于 2016-08-26 14:16:30

在Facebook9中,下面是我检测iOS应用程序是否安装在设备上的唯一解决方案:

代码语言:javascript
复制
 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"]];
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32643522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档