使用 SLComposeViewController
,如果图像和 URL 都存在,我注意到在发布到 Facebook 时出现奇怪的行为。具体来说,如果您同时拥有图像和 URL,如果我执行以下操作,则 URL 会出现在 SLComposeViewController
View 中的 Facebook 帖子正文中,紧跟在 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];
这显然很麻烦,因为如果 URL 很长,初始文本将被推离 SLComposeViewController
View 的可见部分,我只能看到 URL 的后半部分:
如果我重复这个过程,这次不将图片添加到帖子中,那么 URL 的文本根本不会显示在正文中(即使它在网上正确显示)。
最重要的是,只有当有图像和 和 URL 时,该 URL 才会显示在帖子正文中。当我使用 FBNativeDialogs
时,我看到了同样的模式。
有什么方法可以用 SLComposeViewController
来阻止这种行为,这样我就可以将图像和 URL 连接到 Facebook 帖子,而不会让用户看到该网站又长又丑的 URL?显然,我可以使用任何非 SLComposeViewController
解决方案(例如,设计我自己的 UI 来撰写 Facebook 帖子,使用 Facebook 已弃用的 Feed Dialog 等)。只是想知道我是否忽略了一些明显的 SLComposeViewController
解决方案。
最佳答案
最后,我放弃了 SLComposeViewController
(以及 FBNativeDialogs
)。它们给人一种很好的综合感觉,但考虑到我的帖子总是同时包含照片和 URL,这真的行不通。最重要的是,这些帖子没有被正确归因于来 self 的应用程序。
所以,最后,我编写了自己的用户界面并使用 Facebook SDK 3.1 FBRequestConnection
概述 here .我认为我们都必须制作自己的 UI 有点愚蠢,因为 native UI 存在弱点,但事实就是如此。
关于ios - 如果同时存在 URL 和图像,则 Facebook SLComposeViewController URL 会显示在正文中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867135/