Facebook SDK 4.0を使用しています https://developers.facebook.com/docs/sharing/ios#share_dialogFBSDKShareDialog
を使用して写真を共有しています。ユーザーが写真を共有している場合Facebookアプリをインストールしましたが、ユーザーがFBアプリをインストールしていない場合は失敗します。 「Facebookアプリがインストールされていない場合は、自動的にWebベースのダイアログにフォールバックします。」 Idk何が問題なのか、FBSDK 4.0を使用して写真を共有するのを手伝ってください。
私のコードは
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = self.capturedImageView.image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
[FBSDKShareDialog showFromViewController:self
withContent:content
delegate:self];
これはエラー報告です
エラー: "com.facebook.sdk:FBSDKErrorArgumentNameKey = shareContent、com.facebook.sdk:FBSDKErrorDeveloperMessageKey =フィード共有ダイアログはFBSDKShareLinkContentをサポートしています。"
FBSDKShareDialogは、画像またはURLを投稿するためにFBSDKShareLinkContentのみをサポートしています。したがって、共有ダイアログを使用するには、FBSDKShareLinkContentを使用する必要があります。
次のように使用できます。
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.imageURL = [NSURL URLWithString:@"http://upload.wikimedia.org/wikipedia/commons/3/36/Hopetoun_falls.jpg"];
[FBSDKShareDialog showFromViewController:self
withContent:content
delegate:self];
リンクを共有したい場合は、content.contentURL
。
参照: https://developers.facebook.com/docs/sharing/ios#share_dialog
FBSDKSharePhotoを使用している場合は、ネイティブFacebook for iOSアプリをインストールする必要があります。
: https://developers.facebook.com/docs/sharing/ios#photos を参照してください
また、ドキュメントがフォールバックメカニズムを提供していると言っているのと同じ問題がありましたが、このケースには当てはまらないようです。
組み込みの共有フォールバック
以前のバージョンのSDK for iOSでは、アプリは共有ダイアログを開く前に、ネイティブでインストールされたFacebookアプリを確認する必要がありました。ユーザーがアプリをインストールしていない場合は、フォールバックダイアログを呼び出すための独自のコードを提供する必要がありました。
これで、SDKはネイティブFacebookアプリを自動的にチェックします。インストールされていない場合、SDKはユーザーをデフォルトのブラウザーに切り替え、フィードダイアログを開きます。誰かがOpen Graphストーリーを共有したい場合、SDKはWeb共有ダイアログを開きます。
最初にiOSデバイスのFacebookアカウントを設定してから、次のコードを使用して機能します。
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = self.capturedImageView.image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
[FBSDKShareDialog showFromViewController:self
withContent:content
delegate:self];