web-dev-qa-db-fra.com

FBSDKShareDialog ne partage pas les photos sans l’application Facebook installée, IOS

J'utilise Facebook SDK 4.0, https://developers.facebook.com/docs/sharing/ios#share_dialog J'utilise FBSDKShareDialog pour partager la photo. Mais cela échoue lorsque l’utilisateur n’a pas installé FB App. mais ils disent "Si une application Facebook n'est pas installée, elle se rabattra automatiquement sur une boîte de dialogue Web." Idk, s'il vous plaît, aidez-moi à partager des photos avec FBSDK 4.0.

Mon code est 

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];

C'est un rapport d'erreur

enter image description here

error: "com.facebook.sdk: FBSDKErrorArgumentNameKey = shareContent, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Les dialogues de partage de flux prennent en charge FBSDKShareLinkContent."

14
Moaz Saeed

FBSDKShareDialog prend uniquement en charge FBSDKShareLinkContent pour publier une image ou une URL.Pour utiliser le dialogue de partage, vous devez utiliser FBSDKShareLinkContent.

enter image description here

Vous pouvez l'utiliser comme suit:

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];

Si vous souhaitez partager un lien, utilisez simplement content.contentURL.

Voir: https://developers.facebook.com/docs/sharing/ios#share_dialog

Si vous utilisez FBSDKSharePhoto, vous devez installer l'application native Facebook pour iOS.

Voir: https://developers.facebook.com/docs/sharing/ios#photos

16
Dheeraj Singh

J'ai également eu le même problème car la documentation indique également qu'ils fournissent des mécanismes de secours, ce qui semble ne pas être vrai pour ce cas:

Replis de partages intégrés

Dans les versions précédentes du SDK pour iOS, votre application devait rechercher un l’application Facebook native et installée avant de pouvoir ouvrir le dialogue de partage . Si la personne n'avait pas installé l'application, vous deviez fournir votre propre code pour appeler une boîte de dialogue de secours.

Maintenant, le SDK vérifie automatiquement l’application native de Facebook. Si ça n'est pas installé, le SDK bascule les utilisateurs sur leur navigateur par défaut et sur ouvre la boîte de dialogue de flux. Si quelqu'un veut partager une histoire Open Graph, le SDK ouvre la boîte de dialogue Web Share.

1
ph1lb4