如果URL和图像都存在,Facebook SLComposeViewController URL将显示在正文中

Rob*_*Rob 10 facebook ios ios6

使用时SLComposeViewController,如果图像和URL都存在,我会注意到发布到Facebook时的好奇行为.具体来说,如果您同时拥有图像和URL,则URL会显示在Facebook帖子的正文中SLComposeViewController,initialText如果我执行以下操作,则会立即显示在该帖子的正文中:

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

NSString *text = @"This is a test Facebook post with SLComposeViewController.";
NSURL *url = [NSURL URLWithString:@"http://http://stackoverflow.com/questions/12503287/tutorial-for-slcomposeviewcontroller-sharing"];
UIImage *image = ...;

[controller setInitialText:text];
[controller addURL:url];
[controller addImage:image];

[self presentViewController:controller animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

这显然是一个麻烦,因为如果URL很长,初始文本被推离视图的可见部分,SLComposeViewController我只看到URL的后一部分:

在此输入图像描述

如果我重复这个过程,这次不将图像添加到帖子中,URL的文本根本不会显示在正文中(即使它在网上正确显示).

在此输入图像描述

底线,仅当有图像 URL时,URL才显示在帖子的正文中.当我使用时,我看到了相同的模式FBNativeDialogs.

有没有办法阻止这种行为SLComposeViewController,以便我可以将图像和URL连接到Facebook帖子而不会将用户暴露给网站的冗长,丑陋的URL?显然,我可以使用任何非SLComposeViewController解决方案(例如,设计我自己的用户界面来撰写Facebook帖子,使用Facebook已弃用的Feed对话框等).只是想知道我是否忽略了一些明显的SLComposeViewController解决方案.

Rob*_*Rob 10

最后,我放弃了SLComposeViewController(以及FBNativeDialogs).它们呈现出一种很好的,整合的感觉,但鉴于我的帖子总是同时包含照片和URL,这实际上是行不通的.最重要的是,帖子没有正确归因于我的应用程序.

所以,最后,我编写了自己的用户界面,并使用此处FBRequestConnection概述的Facebook SDK 3.1 .我认为由于本机用户界面的弱点,我们都必须制作自己的用户界面,这有点愚蠢,但它就是这样.


Cap*_*ook 6

新的对话框似乎是围绕您设计的,将大部分共享数据作为标签提供给所提供链接指向的网站.像这样:

标题:

<title>TITLE</title>
Run Code Online (Sandbox Code Playgroud)

描述:

<meta name="description" content="DESCRIPTION">
Run Code Online (Sandbox Code Playgroud)

图片:

<meta property="og:image" content="IMAGE_URL">
Run Code Online (Sandbox Code Playgroud)

应用ID:

<meta property="fb:app_id" content="APP_ID">
Run Code Online (Sandbox Code Playgroud)

这样您只需提供初始文本和URL.您可以查看官方Youtube应用程序如何以Facebook共享为例.