要求登录而不是显示邀请对话框的FBSDKAppInviteDialog

时间:2015-11-18 09:32:01

标签: ios facebook facebook-graph-api

我正在尝试将Facebook App邀请作为标准准则https://developers.facebook.com/docs/app-invites/ios但是,这种奇怪的行为发生如下。

我成功登录Facebook并点击App邀请按钮。

- (IBAction)ActionAppInvite:(UIButton *)sender {


    NSLog( @"### running FB sdk version: %@", [FBSDKSettings sdkVersion] );

    FBSDKAppInviteContent *content =[[FBSDKAppInviteContent alloc] init];


    content.appLinkURL = [NSURL URLWithString:@"https://fb.me/1111111111"];
    //optionally set previewImageURL
    content.appInvitePreviewImageURL = [NSURL URLWithString:@"my_invite_image.jpg"];

    // present the dialog. Assumes self implements protocol `FBSDKAppInviteDialogDelegate`
    [FBSDKAppInviteDialog showFromViewController:self withContent:content
                                 delegate:self];
}

之后出现了来自Facebook的网络视图对话框,但表示您必须先登录而不是向我显示邀请对话框。和Facebook文档说不需要登录。

enter image description here

之后如果我在该网络视图登录,那么如果我从我的应用程序注销并使用其他帐户登录,那么FBSDKAppInviteDialog会向我显示旧帐户的Facebook好友:(

任何伙伴都可以告诉我我错误的地方,或者我需要更改我使用sdk virsion 4.8的任何内容。

1 个答案:

答案 0 :(得分:0)

我刚刚把它弄出来了。我们需要设置LSApplicationQueriesSchemes如下:

enter image description here

如果您在模拟器中进行测试,那么您将始终在点击时获得effor:

我已更新到Xcode 7和最新的iOS SDK。我在我的应用程序的plist中添加了相应的条目:

在此输入图片说明

我的应用程序的Facebook登录在设备上正常运行。但是,在iOS 9模拟器上,我得到了:

-canOpenURL: failed for URL: "fbauth2:///" - error: "(null)"

最好在真实设备上测试你的应用程序。