插件com.apple.share.Facebook.post无效

在我的应用程序中,我使用下面的代码,允许与文本共享图像:

- (IBAction)sharePressed:(id)sender { UIImage *postingImage = [UIImage imageWithContentsOfFile:self.filepath]; UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"Lorem ipsum", postingImage] applicationActivities:nil; [self presentViewController:activityViewController animated:YES completion:nil]; } 

将图像发布到Facebook工作正常,它出现在我的FB墙上,但是在我的控制台中,我收到以下消息:

plugin com.apple.share.Facebook.post invalidated

我已经在几台设备上进行了testing,据我所见,只发生在安装了iOS 8.1的iPhone 6上。

任何人都知道这个信息是什么意思,以及如何防止它显示?

这里是正确的答案ios插件com.apple.share.Facebook.post不显示提供的文本 。 这是一个无赖。

我不敢告诉你,你不能以文本方式发布文本到Facebook。 这是一个新的Facebook禁止,禁止“预填充”的Facebook共享。 这就是为什么新版本的iOS不显示你的文本,甚至很难正确提供(并在Twitter和其他共享选项)。

欲了解更多信息,请参阅https://developers.facebook.com/docs/apps/review/prefill

这是苹果的一个可怕的错误信息。 去设置和检查您的Facebook / Twitter帐户。 你会注意到他们没有设置密码(更新到8.1后可能会发生这种情况)。 只需更新帐户信息,消息将消失,您的post/推文将工作。

就我而言,这与Facebook应用用自定义replaceiOS系统级别的Facebook共享扩展相关。 案例触发如下:

  1. 加载应用程序并分享到Facebook(注意:Facebook应用程序当前已安装)
  2. 退出应用程序
  3. 从设备上删除Facebook应用程序
  4. 再次打开应用程序(仍然活跃在内存中),并分享到Facebook …失败! 该应用程序正在寻找与Facebook应用程序一起卸载的共享扩展

杀死并重新启动应用程序,分享到Facebook。 瞧! 该应用程序已加载默认的iOS Facebook共享扩展,它再次运作。

对于苹果为什么让Facebook采取这种做法,而不是迫使他们更换默认的Facebook共享扩展,或者只是在他们的应用程序被安装的情况下,不允许他们自己注入自己的方法,这个问题是令人头疼的。

当你尝试在你的SLComposeViewController使用SLServiceTypeTwitter addURL:方法设置一个URL时,也会发生这种情况。 删除它可以解决问题。

我面临同样的问题。 我正在使用活动控制器SLComposeViewController ,并在两种情况下得到了同样的错误,即使我没有设置任何文本/url等fb编程。 所以根据我的说法,就我而言,这不是上面评论中提到的新的Facebook政策问题。

为了避免以后的不便,我使用facebook share SDK (现在不使用SLComposeViewController或者activityViewController)来修复它。 FBSdk集成在我的iOS项目中,我用于共享的代码如下:

 @IBAction func shareOnFaceBook(sender: AnyObject) { var content = FBSDKShareLinkContent() content.contentURL = urlToShare() //method returning the url content.contentDescription = textToShare() //method returning text(string) to share var dialog = FBSDKShareDialog() dialog.mode = FBSDKShareDialogMode.Automatic dialog.shareContent = content dialog.delegate = self dialog.fromViewController = self dialog.show() } 

它将打开fb应用程序(如果已安装),否则将打开Safari(fb web应用程序)。希望它能帮助你

最好,

Facebook已经更新了他们的政策。 它不再适用于此。 你需要整合Facebook的SDK来这样做。 这里是谁想要分享图像或从您的应用程序发布到Facebook的相关参考

https://developers.facebook.com/docs/sharing/opengraph/ios#sharedialog