如何在 Facebook iOS SDK 中发布或分享?

Posted

技术标签:

【中文标题】如何在 Facebook iOS SDK 中发布或分享?【英文标题】:How to post or share in Facebook iOS SDK? 【发布时间】:2016-02-19 04:29:12 【问题描述】:

我正在尝试使用 FacebookSDK 在我的 fb 中发布消息或分享照片。我已经按照如何安装它的步骤进行操作。我已经完成了登录教程的应用,但现在的问题是如何使用我的应用发布消息或将其分享到我的 FB。有很多这样的教程one。我认为这对于 FacebookSDK 来说已经很老了。对不起,如果我对此很菜鸟。我知道这不是发布此内容的正确页面,但我现在不知道。如果您有关于如何发布或分享的教程。请给我链接。如果有的话,您能否为此提供步骤。

我已经尝试this,但它没有发布或分享。

更新

这是我的代码

import "ShareController.h"
#import <FBSDKShareKit/FBSDKShareKit.h>
#import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h>


@implementation ShareController

- (void)viewDidLoad 
    [super viewDidLoad];

    FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
    content.contentURL = [NSURL URLWithString:@"https://developers.facebook.com"];

    FBSDKShareButton *button = [[FBSDKShareButton alloc] init];
    button.shareContent = content;
    [self.view addSubview:button];


- (IBAction)shareButton:(id)sender 


    UIImage * image = [UIImage imageNamed:@"sample.png"];

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

    FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init];
    dialog.fromViewController = self;
    dialog.shareContent= content;
    dialog.mode = FBSDKShareDialogModeShareSheet;
    [dialog show];

这是我的登录代码。我认为这是简单的代码

@implementation ViewController

- (void)viewDidLoad 
    [super viewDidLoad];

    FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
    loginButton.center = self.view.center;
    [self.view addSubview:loginButton];
    // Do any additional setup after loading the view, typically from a nib.

【问题讨论】:

***.com/questions/35291789/… 请点击以上链接,您一定可以分享... @JAGAT 对此表示感谢。 @JAGAT 抱歉,我不知道从哪里开始 分享您的登录代码,同时提及您面临的问题、错误或其他问题。? 【参考方案1】:

你没有设置权限,要设置权限:

FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
loginButton.center = self.view.center;
[loginButton logInWithPublishPermissions: @[@"publish_actions"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) 
if (error) 
  NSLog(@"Process error");
 else if (result.isCancelled) 
  NSLog(@"Cancelled");
 else 
  NSLog(@"Logged in");
  
];

此外,最好在您的 IBAction 方法中检查用户是否已授予权限:

- (IBAction)shareButton:(id)sender 
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"])

    // code to share 


【讨论】:

我的代码 logInWithPublishPermissions 有问题:它给了我错误。这种方法不存在。有什么需要导入的吗? #import 你去构建阶段了吗 -> 将二进制文件与库链接,然后单击 + 号并添加框架。 @JAGAT logInWithPublishPermissions: 方法 @TejasK 等等。活着是什么意思?对此感到抱歉。

以上是关于如何在 Facebook iOS SDK 中发布或分享?的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 应用程序中,如何将照片发布到 Facebook 粉丝页面。在它之前如何喜欢它?使用 facebook-ios-sdk

适用于 iOS 的 Facebook SDK、私人消息

在 iOS Facebook SDK 3.0 上作为粉丝页面发布

如何在 facebook iOS SDK 3.1 中发布到朋友的墙上?

如何在 IOS 中使用 FB SDK 创建 Facebook 应用广告

登录并再次授权时如何在iOS SDK中的Facebook应用程序中获取Facebook帐户的更改?