UIActivityViewController Facebook分享文本

4
我正在尝试使用UIActivityViewController在Facebook/Twitter上发布带有预先填充文本的内容。但是我无法填充预先填充的文本,以下是我的示例代码。
UIImage* shareImage =  [self saveVersionGraphicsAndThumbnailImage:self.drawingView];
NSString* message = @"My post - ";
NSArray* shareItems = @[message, shareImage];

UIActivityViewController * avc = [[UIActivityViewController alloc] initWithActivityItems:shareItems applicationActivities:nil];

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
    UIPopoverPresentationController *presentationController = [avc popoverPresentationController];
    presentationController.sourceView = sender;
}
[self presentViewController:avc animated:YES completion:nil];

请帮忙解决这个问题,提前感谢。

但是我无法填充预先填好的文本,你能详细解释一下吗?不清楚你遇到了什么问题。 - Mick MacCallum
在 Facebook 帖子视图中需要显示我的预填文本(“我的帖子 -”)。默认情况下它是空的。清楚吗? - Ramesh R C
https://dev59.com/sl0a5IYBdhLWcg3w3L8- - shaqir saiyed
https://dev59.com/yorda4cB1Zd3GeqPIyk0 - shaqir saiyed
2个回答

4
Facebook不再允许开发者预填文本。来自https://developers.facebook.com/docs/sharing/ios#ios-integration的消息:
使用iOS共享表单需要遵守Facebook平台政策,包括第2.3节,其中规定应用程序不得预先填写。在共享表单的上下文中,这意味着应用程序不得在initialText字段中预先填充内容,该内容不是人们在使用应用程序早期输入的。 似乎他们更喜欢开发者使用SDK:
虽然您可以直接使用iOS本机视图控制器API(共享表单),但使用Facebook SDK提供的本机iOS共享对话框有几个原因。使用本机共享对话框可以快速测试人们是否已在其iOS 6+设备上登录Facebook。此API还使用与Facebook SDK的其他部分相同的样式块。

1

是的,我现在能够做到。我已经将shareitem数组更改为

NSArray * activityItems = @[[NSString stringWithFormat:@"My Post - "], shareImage];

非常感谢。

我们如何在Swift中实现这个? - CMA
你能否详细说明一下这个问题? - Ganesh G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接