Facebook从iOS应用程序共享图像

时间:2016-04-14 02:34:49

标签: ios facebook facebook-graph-api

我在使用iOS应用在Facebook上分享图片时遇到问题。 (See this post) 我读到在分享之前预先填写文本是违反Facebook政策的。 预装图像是否也违背了他们的政策?

我可以理解,预先填充可能导致可能的延误。但是在处理图片的应用程序中,如果我不能让用户通过预加载来分享他的图片变得容易;在我的应用程序中有一个FB按钮可能是什么意思?

2 个答案:

答案 0 :(得分:1)

根据我的理解,我们无法预填文本,但是,可以将您的应用程序中的照片分享到Facebook,并且没有限制。正如他们所说,只有一些要求

  • 照片大小必须小于12MB
  • 人们需要安装原生Facebook for iOS应用程序,版本7.0或更高版本。

以下是使用FBSDKSharePhotoContent通过FB分享照片的示例代码

- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
  UIImage *image = info[UIImagePickerControllerOriginalImage];

  FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
  photo.image = image;
  photo.userGenerated = YES;
  FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
  content.photos = @[photo];
  ...
}

参考:https://developers.facebook.com/docs/sharing/ios

答案 1 :(得分:0)

我还尝试找出如何与Facebook分享图片,并且他们的文档对我没有太大帮助-> https://developers.facebook.com/docs/swift/sharing/content-types/

最后,我设法以这种方式做到这一点:

import FBSDKCoreKit
import FBSDKLoginKit
import FBSDKShareKit

private func shareInFacebook() {
        let photo = SharePhoto(image: image!, userGenerated: true)
        let content = SharePhotoContent()
        content.photos = [photo]
        let showDialog = ShareDialog(fromViewController: self, content: content, delegate: self)

        if (showDialog.canShow) {
            showDialog.show()
        } else {
            self.view.makeToast("It looks like you don't have the Facebook mobile app on your phone.")
        }
}

希望这会对某人有所帮助;)