Facebook在iOS应用程序中发送对话框

Jul*_*acy 6 facebook inbox ios

我有一个iOs应用程序,我告诉用户与他想要的朋友分享链接.我想让他有可能在应用程序内打开一个新的收件箱,如果可能的话,还可以预先填写内容.但没有预先填好的收件人.我希望它可供所有用户使用(不仅仅是那些有facebook连接的用户).

基本上我想在应用程序中复制以下Web发送对话框:https://developers.facebook.com/docs/reference/dialogs/send/

这意味着它将打开Facebook应用程序,而不是浏览器显示新的收件箱对话框.

从我的研究中我发现没有明确的解决方案,因为有可能从一个网站我会感到惊讶我不能对应用程序做同样的事情.

朱尔斯,非常感谢你

小智 1

您可以使用UIActivityViewController。
您首先必须创建一个要共享的内容的列表:一个 URL、一个字符串等,如下所示

NSArray *activityItems = @[[NSURL URLWithString:@"www.link-to-share.com], @"What you want written above"];
Run Code Online (Sandbox Code Playgroud)

之后,您只需UIActivityViewController使用要共享的内容创建并以模态方式呈现:

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

您还可以添加完成块,以便在用户完成共享时通知您:

[activityController setCompletionHandler:^(NSString *activityType, BOOL completed){
    //do stuff
}];
Run Code Online (Sandbox Code Playgroud)