FBSDKAppInviteDialog对于dismiss和结果的奇怪行为总是(null)

时间:2015-12-04 11:52:24

标签: ios iphone facebook facebook-graph-api

我试图在我的Ios App中实现应用邀请流程。这是我使用的代码:

-(void)Invite{

FBSDKAppInviteContent *content =[[FBSDKAppInviteContent alloc] init];
content.appLinkURL = [NSURL URLWithString:@"http://www.sdfsdfadfa.net"];

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

-(void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results
{

NSLog(@"result::%@",results);
}

-(void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog  didFailWithError:(NSError *)error
{
NSLog(@"error::%@",error);
}

这就是我的应用链接的样子:

<html>
<head>
<meta property="al:ios:url" content="my-app://" />
<meta property="al:ios:app_store_id" content="fake2342" />
<meta property="al:ios:app_name" content="Myapp" />
<meta property="og:title" content="my app" />
<meta property="og:type" content="website" />
<!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>
</head>

这就像我的url-scheme

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>my-app</string>
        </array>
    </dict>
</array>

邀请被正确发送给我选择的朋友,但appInviteDialog didCompleteWithResult始终返回&#39;(null)&#39; 。只有当我按下&#34;关闭&#34;时才会DidCompleteWithResult。在FBSDKAppInviteDialog的右上角。所以我有两个问题:

  • 可以在发出邀请时自动关闭FBSDKAppInviteDialog(邀请发送后现在为FBSDKAppInviteDialog,重定向到我的脸谱资料网页而不关闭)?我认为这是ios中任何模态视图的自然流程/行为。

  • 为什么我总是收到&#39;(null)&#39;来自didCompleteWithResults?我需要知道我邀请了多少朋友。

1 个答案:

答案 0 :(得分:0)

您的应用链接网址不正确。 (你不能插入任何网址)

创建应用链接网址: https://developers.facebook.com/quickstarts

应如下所示: 例如:https://fb.me/&#34; 1234567889&#34;