首页 > 解决方案 > FacebookShare 0.3.2 Swift ShareDialog 控制台错误

问题描述

我正在尝试使用 FacebookShare Swift SDK 0.3.2 而不是 FBSDKShareKit 在呈现的视图控制器中显示具有以下功能的 Facebook ShareDialog

import FacebookShare

func facebookShare() {
            let photo = Photo(image: image, userGenerated: true)
            let myContent = PhotoShareContent(photos: [photo])
            let shareDialog = ShareDialog(content: myContent)
            shareDialog.presentingViewController = self
            shareDialog.mode = .automatic
            shareDialog.completion = { result in
                    print("- in completion")
            }
            do {
            try shareDialog.show()
            } catch {
                    print(error)
            }

我在控制台中收到此错误。

2018-09-03 16:12:11.235865+0100 APPNAME[1865:386979] FBSDKLog: 参数 { "advertiser_tracking_enabled" = 0; "anon_id" = "XXXXX-XXXXXX-XXXXX-XXXXX"; “application_tracking_enabled”=1;"custom_events" = "[{\"_ui\":\"no_ui\",\"_eventName\":\"fb_dialog_share_result\",\"_logTime\":1535987524,\"fb_dialog_outcome_error_message\":\"错误域= com.facebook.sdk.share Code=2 \\"(null)\\" UserInfo={com.facebook.sdk:FBSDKErrorArgumentValueKey=, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=必须具有资产、图像或图像URL 值。 , com.facebook.sdk:FBSDKErrorArgumentNameKey=photo}\",\"fb_dialog_outcome\":\"Failed\",\"_implicitlyLogged\":\"1\"}]"; 事件 = "CUSTOM_APP_EVENTS"; extinfo = "[\"i2\",\"com.APPNAME\",\"1\",\"1.0\",\"11.4.1\",\"iPhone8,4\",\"en_GB\ ",\"BST\",\"三\",320,568,\"2.00\",2,60,46,\"欧洲\/伦敦\"]"; "url_schemes" = "[\"fbapiXXXXXXX\",\"fbXXXXXXXXX\",\"twitterkit-sasasasasasasa\",\"com.googleusercontent.apps.XXXXXXXXXX-XXXXXXXX\"]"; }

虽然错误说:

必须具有资产、图像或 imageURL 值。

我已经确认一个 UIImage 在 myContent 中,通过断点传递给 ShareDialog。

标签: iosswiftxcodefacebookfacebook-share

解决方案


这是此处提出的 FacebookSDK 的问题:

https://github.com/facebook/facebook-sdk-swift/issues/264

在修复之前的临时解决方法,从 pod 文件中删除 Facebook pod 并添加以下内容,然后运行 ​​pod install。

pod 'FacebookCore', '0.3.1'
pod 'FacebookLogin', '0.3.1'
pod 'FacebookShare', '0.3.1'

pod 'FBSDKCoreKit', '4.35.0'
pod 'FBSDKLoginKit', '4.35.0'
pod 'FBSDKShareKit', '4.35.0'

推荐阅读