Ich verwende Facebook SDK 4.0, https://developers.facebook.com/docs/sharing/ios#share_dialog Ich verwende FBSDKShareDialog
, um ein Foto zu teilen. Es gibt ein Foto weiter, wenn der Benutzer die Facebook-App installiert hat. Es schlägt jedoch fehl, wenn der Benutzer FB App nicht installiert hat. Sie sagen jedoch: "Wenn jemand keine Facebook-App installiert hat, wird automatisch auf ein webbasiertes Dialogfeld zurückgegriffen." Was ist falsch? Helfen Sie mir bitte, Foto mit FBSDK 4.0 zu teilen.
Mein Code lautet
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];
Dies ist ein Fehlerbericht
fehler: "com.facebook.sdk: FBSDKErrorArgumentNameKey = shareContent, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Feed-Freigabedialogfelder Unterstützung für FBSDKShareLinkContent."
FBSDKShareDialog unterstützt nur FBSDKShareLinkContent zum Veröffentlichen von Bildern oder URLs. Damit Sie das Freigabedialogfeld verwenden können, müssen Sie FBSDKShareLinkContent verwenden.
Sie könnten es wie folgt verwenden:
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];
Wenn Sie einen Link freigeben möchten, verwenden Sie einfach content.contentURL
.
Siehe: https://developers.facebook.com/docs/sharing/ios#share_dialog
Wenn Sie FBSDKSharePhoto verwenden, muss die native App für Facebook für iOS installiert sein.
Siehe: https://developers.facebook.com/docs/sharing/ios#photos
Ich hatte auch das gleiche Problem, da die Dokumentation auch sagt, dass sie Rückfallmechanismen bereitstellen, was für diesen Fall nicht zutreffend ist:
Integrierte Share-Rückschläge
In früheren Versionen des SDK für iOS musste Ihre App nach einem .__ suchen. native, installierte Facebook-App, bevor der Share-Dialog geöffnet werden konnte . Wenn die Person die App nicht installiert hatte, mussten Sie Ihre .__ angeben. eigener Code, um einen Fallback-Dialog aufzurufen.
Nun sucht das SDK automatisch nach der nativen Facebook-App. Wenn es nicht installiert ist, wechselt das SDK die Benutzer zu ihrem Standardbrowser und Öffnet den Feed-Dialog. Wenn jemand eine Open Graph-Geschichte freigeben möchte, Das SDK öffnet den Web Share-Dialog.