无法分享到 Facebook 的链接

Posted

技术标签:

【中文标题】无法分享到 Facebook 的链接【英文标题】:Cannot share link to facebook 【发布时间】:2018-02-13 04:28:22 【问题描述】:

我正在使用 Xcode 9 和 Swift 4.0。单击按钮时,我需要分享到 Facebook 的链接。我已经集成了 Facebook SDK。我已经完成了 Facebook 文档中提到的所有步骤。但我无法分享到 facebook 的链接。我的代码如下。 它显示错误

-canOpenURL: failed for URL: "fbauth2:/" - error: "The operation could not be completed. (OSStatus error -10814.)"

    if(FBSDKAccessToken.current() .hasGranted("publish_actions"))
    
        self.postToFacebook()
    
    else
    
        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))")
                self.tokenString = "\(String(describing: result?.token.tokenString))"
                self.postToFacebook()
                //UserDefaults.standard.set(result?.token.tokenString, forKey: "facebook_token")

            
        
    
`

 func postToFacebook()

    do
        var myContent = LinkShareContent(url: URL(string: "https://www.facebook.com/8MinuteWorkoutChallenge")!)
        myContent.hashtag = Hashtag("#8MWC")

        let shareDialog = ShareDialog(content: myContent)
        shareDialog.mode = .native
        shareDialog.failsOnInvalidData = true
        shareDialog.completion =  result in
            switch result 
            case .success:
                print("Share succeeded")
            case .failed:
                // self.shareButton.isHidden = true
                print("failed")
            case .cancelled:
                print("Share cancelled")
            
        

        try shareDialog.show()
    
    catch 
        print("Error: \(error)")
    


【问题讨论】:

看过一次:***.com/questions/46319937/… 【参考方案1】:

OSStatus error -10814(又名kLSApplicationNotFoundErr)在启动服务的数据库中找不到应用程序时发生。换句话说,ios 找不到具有fbauth2 方案的应用程序...看起来您的测试设备上没有安装 Facebook :)

参考:https://www.osstatus.com/search/results?platform=all&framework=all&search=10814

【讨论】:

也就是说,如果设备中没有 facebook 应用程序,共享功能将不起作用。对吗? 我对 Facebook SDK 及其内部工作方式不是特别熟悉,但从外观上看,在您的情况下,至少需要 Facebook 应用程序才能进行身份验证。

以上是关于无法分享到 Facebook 的链接的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 分享链接 - 分享到移动设备上的页面

通过 Facebook 分享深度链接到 iOS 应用

分享视频链接到 facebook ios

如何在 Objective-C 中将照片分享到 Facebook?

iOS分享到第三方应用方法整理

如何通过返回应用程序的链接分享到 Facebook?迅速