FBSDKAppInviteDialog 总是关闭和结果的奇怪行为(null)

Posted

技术标签:

【中文标题】FBSDKAppInviteDialog 总是关闭和结果的奇怪行为(null)【英文标题】:FBSDKAppInviteDialog strange behaviour for dismiss and results always (null) 【发布时间】:2015-12-04 11:52:24 【问题描述】:

我正在尝试在我的 ios 应用中实现应用邀请流程。这是我使用的代码:

-(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 方案的样子

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

邀请已正确发送给我选择的朋友,但 appInviteDialog didCompleteWithResult 始终返回 '(null)' 。只有当我按下FBSDKAppInviteDialog 右上角的“关闭”时,DidCompleteWithResult 才会启动。所以我有两个问题:

是否可以在发送邀请时自动关闭FBSDKAppInviteDialog(现在是发送邀请后的FBSDKAppInviteDialog,在不关闭自身的情况下重定向到我的Facebook 个人资料网页)?我认为这是 ios 中任何模式视图的自然流程/行为。

为什么我总是收到来自didCompleteWithResults 的“(null)”?我需要知道我向多少朋友发送了邀请。

【问题讨论】:

检查 ios 8 或 9 选中,io ios 8 它也返回(null) 确保你没有错过这一点:developers.facebook.com/docs/ios/getting-started#delegate 【参考方案1】:

您的应用链接网址不正确,因为您无法插入任何网址。

Create an app link url。它应该看起来像 https://fb.me/"1234567889"

【讨论】:

以上是关于FBSDKAppInviteDialog 总是关闭和结果的奇怪行为(null)的主要内容,如果未能解决你的问题,请参考以下文章

FBSDKAppInviteDialog 检查我刚刚邀请了多少朋友

iOS 9 和 10 (FB SDK 4.2.0) 上的 FBSDKAppInviteDialog 停止在“showFromViewController”上加载

AFNetworking 总是失败 [关闭]

为啥输出总是零? [关闭]

CBCentralManager 状态总是关闭

Access 数据库总是“关闭时压缩” - 为啥?