ios - SLComposeViewController setInitialText 未显示在 View 中

标签 ios facebook slcomposeviewcontroller

我正在尝试使用 SLComposeViewController 在我的 iOS 应用程序中共享一个链接。

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"Here's the link I promised:"];
[controller addURL:[NSURL URLWithString:@"http://www.url.com"]];
[self presentViewController:controller animated:YES completion:nil];

当 Controller 呈现时,输入框中没有文本。您可以添加文本并正常发送(URL 也正确显示在帖子中)。

我刚刚安装了 FacebookSDK 4.01,它是一个 iOS 7/8 应用程序。

关于为什么初始文本未显示的任何想法。我什至尝试在没有 URL 的情况下只做文本,但什么也做不了。

附加说明:如果我确实删除了 addURL,那么当我触摸“发布”时应用程序会卡住,并且永远不会发送该帖子。

感谢您的帮助!!!

最佳答案

我找到了一种解决此问题的好方法,它仍然为用户提供了控制权。

仅适用于 Facebook,在展示 SLComposerViewController 之前,我显示了一个 self 关闭警报(如果没有点击确定,则有 6 秒关闭)。此警报将包含“写信给您的 friend ,告诉他们您玩得怎么样!\n\n您可以粘贴预设消息。”。

在显示警报后,我立即使用以下内容将预设消息发布到 UIPasteboard:

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    pasteboard.string = msg;

然后 SLComposeViewController 出现,并且在其上方有一个警报 View 。一旦用户关闭警报 View (或 6 秒后自动关闭),用户可以选择直接在消息文本中粘贴您的预设消息。或者不是,这就是它的美妙之处。

希望这可以帮助其他人解决 FB 决定突然强制执行的问题。我什至没有意识到对 FB 使用 setInitialText 方法是违反政策的。

干杯。

关于ios - SLComposeViewController setInitialText 未显示在 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29970741/

相关文章:

ios - “Couldn' t send a valid signature”错误在没有iCloud账户的情况下使用CloudKit

ios - 如何添加带有下标的表格 View 部分标题?

php - 从 Graph API 显示 [图像][url]

javascript - Facebook 跟踪像素 : Can't create a Custom Coversion based on a custom event

ios - 未配置应用程序时在 Facebook 上分享

ios - 用于 Twitter 的 SLComposeViewController 现在在 iOS 8.3 中崩溃

ios - 如何在Shopify中保持用户登录状态或检查用户是否登录?

ios - 在 for 循环中,如何等待进程完成后再跳转到下一次迭代? (iOS)

javascript - 所有搜索机器人都使用转义片段吗?

swift - 如何在 SLComposeViewController 中忽略 "Import with ' xxx' "