在iOS 11上与Facebook分享不再工作了[英] Share With Facebook Not Working Anymore on iOS 11

本文是小编为大家收集整理的关于在iOS 11上与Facebook分享不再工作了的处理方法,想解了在iOS 11上与Facebook分享不再工作了的问题怎么解决?在iOS 11上与Facebook分享不再工作了问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我使用适用于 iOS 的 Facebook SDK,它在 iOS 10 上运行良好,但是当我将手机升级到 iOS 11 时,Facebook 共享不再工作.请帮忙,提前谢谢.

推荐答案

不幸的是,随着 iOS 11 的更新,社交网络服务(Facebook、Twitter、Vimeo 和 Flickr)过去使用单点登录进行系统集成已删除.

改为将此代码段用于 iOS 10 及之前的版本:

let viewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
viewController.add(imageView.image!)
viewController.add(URL(string: "http://www.example.com/"))
viewController.setInitialText("Text to post!")

self.present(viewController!, animated: true, completion: nil)

您可以使用 FBSDKGraphRequest.

首先从 Facebook 开发者控制台创建您的应用.之后,设置您的 Xcode 项目(按照此处的说明操作:https://developers.facebook.com/docs/ios/getting-开始/).

发帖前需要登录用户:

    let login: FBSDKLoginManager = FBSDKLoginManager()
        login.logIn(withPublishPermissions: ["publish_actions"], from: self) { (result, error) in

            if (error != nil) {
                print("publish_actions: \(error!)")
            } else if (result?.isCancelled)! {
                print("publish_actions: Canceled")
            } else if (result?.grantedPermissions.contains("publish_actions"))! {
                print("publish_actions: permissions granted: \(String(describing: result?.token.tokenString))")

                UserDefaults.standard.set(result?.token.tokenString, forKey: "facebook_token")

            }

        }

记录后保存令牌并使用它通过 FBSDKGraphRequest 发布消息:

FBSDKGraphRequest.init(graphPath: "me/feed",
                           parameters: ["message": "text to post on Facebook"],
                           tokenString: "token",
                           version: "v2.10",
                           httpMethod: "POST").start(completionHandler: { (connection, result, error) -> Void in
                            if let error = error {
                                print("Error: \(error)")
                            } else {
                                print("Posted successfully!")
                            }
                           })

希望对您有所帮助.

本文地址:https://www.itbaoku.cn/post/924613.html