0

Swift を使用して iOS アプリの Facebook でコンテンツを共有する作業を行っています。

以下のように、FBManager と呼ばれるシングルトン クラスと関数を作成しました。

func shareContent(content:String, contentURL:String?, contentTitle:String? , fromController controller:UIViewController {
        let shareDialog = FBSDKShareDialog()
        let shareLinkContent = FBSDKShareLinkContent()

        shareLinkContent.contentDescription = content

        if let url = contentURL
        {
            shareLinkContent.contentURL = NSURL(string: url)
        }

        if let title = contentTitle
        {
            shareLinkContent.contentTitle = title
        }

        shareDialog.delegate = self
        shareDialog.fromViewController = controller
        shareDialog.shareContent = shareLinkContent
        shareDialog.show()
  }

しかし、これは iOS 8 と iOS 9 の両方で共有ダイアログさえ表示しません。代わりに、次のデリゲート メソッドが呼び出されます。

func sharer(sharer: FBSDKSharing!, didFailWithError error: NSError!) {
}

エラー - 「操作を完了できませんでした。(com.facebook.sdk.share エラー 2.)」

誰か助けてくれませんか?

4

1 に答える 1

1

Facebook SDK のエラー コードは、かなり大きな範囲のエラーをカバーしているため、ややあいまいです。あなたが提供したコードは実際には変数の内容を示していないため、問題を特定することはできません. ただし、com.facebook.sdk.share error 2無効な引数エラーです。これは通常、 の 1 つ以上のメンバーの無効な形式から発生しますFBSDKShareLinkContent

一般に、列挙型を使用してFBSDKErrorCodeを切り替え、(error as NSError).code所属するドメインを見つけることができます。(この場合、無効な引数を指します)

print(error)また、デリゲート メソッドを直接使用することもできdidFailWithErrorます。これにより、エラーの詳細なログと具体的な原因が出力されます。

を確認し、またはまたはその他の有効なプロトコルcontentURLで始まっていることを確認してください。を使用している、または使用する予定がある場合も同様です。これがおそらくあなたのエラーの原因です!http://https://imageURL

SDK のエラー コード リファレンスも役立つ場合があります。

于 2017-01-04T03:08:31.447 に答える