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”上加载