wake-up-neo.net

FBSDKShareDialog teilt kein Foto ohne installierte Facebook-App. IOS

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

enter image description here

fehler: "com.facebook.sdk: FBSDKErrorArgumentNameKey = shareContent, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Feed-Freigabedialogfelder Unterstützung für FBSDKShareLinkContent."

14
Moaz Saeed

FBSDKShareDialog unterstützt nur FBSDKShareLinkContent zum Veröffentlichen von Bildern oder URLs. Damit Sie das Freigabedialogfeld verwenden können, müssen Sie FBSDKShareLinkContent verwenden.

enter image description here

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

16
Dheeraj Singh

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.

1
ph1lb4