我正试图使用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];
请帮助解决此问题,提前致谢。
答案 0 :(得分: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 :(得分:1)
是的,我现在可以做。我将shareitem数组更改为
NSArray * activityItems = @[[NSString stringWithFormat:@"My Post - "], shareImage];
非常感谢。