Swift - 直接在 facebook 上发布

Posted

技术标签:

【中文标题】Swift - 直接在 facebook 上发布【英文标题】:Swift - Publish directly on facebook 【发布时间】:2015-10-18 17:21:38 【问题描述】:

我创建了一个使用 facebook SDK 4.x 的 swift 代码。该代码使用 FBSDKShareButton 并且运行良好。 这是代码:

let content : FBSDKShareLinkContent = FBSDKShareLinkContent()
            content.contentURL = NSURL(string: "http://alexandreccarmo.com")
            content.contentTitle = "Teste"
            content.contentDescription = "teste teste"
            content.imageURL = NSURL(string: "xxxx/2.jpg")


            let button : FBSDKShareButton = FBSDKShareButton()
            button.shareContent = content
            button.frame = CGRectMake((UIScreen.mainScreen().bounds.width - 100) * 0.5, 50, 100, 25)
            self.view.addSubview(button)

但我需要在不使用 facebook 对话框的情况下分享。当用户单击我的应用程序的按钮时,我需要直接在他们的 Facebook 上分享。 我试过这个:

let contentx : FBSDKShareLinkContent = FBSDKShareLinkContent()
            contentx.contentURL = NSURL(string: "http://alexandreccarmo.com")
            contentx.contentTitle = "Testexxxxx"
            contentx.contentDescription = "teste testexxx"
            contentx.imageURL = NSURL(string: "xxxx/2.jpg")

            FBSDKShareAPI.shareWithContent(contentx, delegate: nil)

但我收到此错误:

FacebookLogin[6721:3464359] FBSDKLog:警告:[FBSDKAccessToken currentAccessToken] 缺少 publish_actions 权限

我在 facebook 开发人员上读到,当我需要发送共享时,我需要请求“publish_actions”。但我不明白我该怎么做。有人知道吗?

【问题讨论】:

【参考方案1】:

下面是我用来在没有 Facebook SDK 的情况下在 Facebook 上发布图像的一些代码:

func actionTapped(sender: AnyObject) 

    let objectsToShare = //reference to image
    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
    activityVC.completionWithItemsHandler = actionCompleted
    presentViewController(activityVC, animated: true, completion: nil)


func actionCompleted(activityType: String!, completed: Bool, returnedItems: [AnyObject]!, error: NSError!) 
    // Return if cancelled
    if (!completed) 
        return
    
    close()

您也可以查看这些链接:

    Can I use UIActivityViewController to share on Facebook ? http://roadfiresoftware.com/2014/02/how-to-add-facebook-and-twitter-sharing-to-an-ios-app/ UIActivityViewController share only text

我希望这会有所帮助。

【讨论】:

以上是关于Swift - 直接在 facebook 上发布的主要内容,如果未能解决你的问题,请参考以下文章

(Swift) 在 Facebook 上分享设置初始文本?

iOS Facebook 登录按钮与 swift

取消 Facebook 登录不显示 (Swift)

Swift:截取 viewController 并在 Facebook 上分享

使用 SWIFT 在 iOS SDK for Facebook 上使用 FBSDKGraphRequest

使用 Facebook 应用程序时 Facebook 登录回调不起作用 - Swift