IOS 分享到 Facebook 的 URL 不显示预览

Posted

技术标签:

【中文标题】IOS 分享到 Facebook 的 URL 不显示预览【英文标题】:IOS Sharing URL to Facebook doesn't show PreView 【发布时间】:2015-02-11 23:21:09 【问题描述】:

我的应用是使用 Xcode 6.1.1 和 ios 8.+ iPhone 开发的。 我正在例如在 Facebook 上添加共享功能,并希望有一个 URL。它部分工作:显示文本,但不显示 URL 预览,以后也不会出现。在 Facebook 上发布后,会显示 URL 预览。

        NSString* newMessage = @"UCC Test";
        NSURL* newUrl =[NSURL URLWithString:@"http://itunes.apple.com/app/id378458261"];

           if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
        
            SLComposeViewController *facebookSheet = [SLComposeViewController
                                                   composeViewControllerForServiceType:SLServiceTypeFacebook];

            [facebookSheet setInitialText:newMessage];
            [facebookSheet addURL:newUrl];
            [callerView presentViewController:facebookSheet animated:YES completion:nil];
        

我尝试过使用 UIActivityViewController;并得到相同的结果。直接在 Facebook 上发布 URL 有效。

欢迎任何帮助或提示!

【问题讨论】:

【参考方案1】:

为了邀请用户,您可以在添加 facebook-sdk 后使用以下代码

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"", @"name",
                               @"", @"caption",
                               @"", @"description",
                               @"http://itunes.apple.com/app/id378458261", @"link",

                               nil];

// Show the feed dialog
[FBWebDialogs presentFeedDialogModallyWithSession:sharedFacebookHelper.session
                                       parameters:params
                                          handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
 
     if (error)
     

     
     else
     
         if (result == FBWebDialogResultDialogNotCompleted)
         



         
         else
         
             // Handle the publish feed callback
             NSDictionary *urlParams = [self parseURLParams:[resultURL query]];

             if (![urlParams valueForKey:@"post_id"])
             

             
             else
             

             

                        
     
 ];

【讨论】:

感谢您的回复。不幸的是,它没有帮助。我注意到 URL 预览是在窗口显示几秒钟后出现的。你遇到过这样的行为吗?

以上是关于IOS 分享到 Facebook 的 URL 不显示预览的主要内容,如果未能解决你的问题,请参考以下文章

从 iOS 在 Facebook 上分享

iOS 8 Facebook 分享链接、图片和文字

iOS Facebook 原生分享对话框:初始文本

Facebook 分享 iOS Swift

facebook 的 ios 应用程序 URL 方案

从 AS3 网站分享 url 到 Facebook