問題タブ [fbsdksharekit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swiftui - SwiftUI FBSDKShareKit と ShareDialog を使用して Facebook に URL を共有する方法は?
thisやthisなどの投稿で解決策を探してみましたが、人々はまったく同じ質問をしました: How to share a url to Facebook using SwiftUI ?
SwiftUI を使用してファイルをエクスポートする方法を誰かが尋ねたこの投稿も試しましたが、Whatsapp などのアプリに URL を共有するのに問題がないため、私の問題は特に Facebook にあります。しかし、私は答えを見つけられませんでした...
UIKit
Facebook の Developer documentationを読んで、UIKit を使用して投稿を共有する方法を見つけました。
トピックを理解していることを確認するために、非常に単純なサンプル プロジェクトを作成しました。UIKit のサンプル プロジェクトは次のとおりです。
幸いなことに、これはすぐに機能しました。このプロジェクトを機能させることで、AppBundleID を Facebook にリンクするのを忘れたり、info.plist 内に FacebookAppID やその他の必要なファイルを追加するのを忘れたりしていないことを確認しました。
SwiftUI
次に、SwiftUI で同じプロジェクトを複製して、機能するかどうかを確認しました。ViewControllerRepresentable を使用して、UIActivityViewController を SwiftUI に含めることができました。
UIActivityViewController を使用する理由は、URL を共有する場所 (Whatsapp、Twitter、Facebook など) をユーザーに選択してもらいたいからです。
コードは次のとおりです。
コンテンツビュー
UIViewControllerRepresentable
controller
このコードは、 ShareDialog を初期化するときに使用される変数であると私が想定しているため、機能しません。( 「XCodeはタイプ 'ActivityViewController'の値を予期される引数タイプ 'UIViewController'に変換できないため、selfも機能しませんか?」 )
質問
Facebook 開発者のドキュメントによると、リンクを共有するには次のコードを記述する必要があります。
ただし、SwiftUI は ViewControllers では機能しません。URL を Facebook に正常に共有するためにfromViewController
、パラメーターとして使用する ViewController を作成するにはどうすればよいですか?ShareDialog