Подтвердить что ты не робот

FBSDKShareDialog не делится фотографией без приложения Facebook, IOS

Я использую Facebook SDK 4.0, https://developers.facebook.com/docs/sharing/ios#share_dialog Я использую FBSDKShareDialog, чтобы делиться Photo.It действительно делится фотографией, если пользователь установил приложение Facebook, Но это не удается, когда пользователь не установил приложение FB. но они говорят: "Если у кого-то нет приложения для Facebook, оно автоматически вернется к веб-диалогу". 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];

Это отчет об ошибке

enter image description here

ошибка: "com.facebook.sdk: FBSDKErrorArgumentNameKey = shareContent, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Диаграммы об общих ресурсах поддержка FBSDKShareLinkContent."

4b9b3361

Ответ 1

FBSDKShareDialog поддерживает только FBSDKShareLinkContent для отправки изображения или URL-адреса. Для использования диалога общего доступа вы должны использовать FBSDKShareLinkContent.

enter image description here

Вы можете использовать его следующим образом:

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 для iOS.

Обратитесь к: https://developers.facebook.com/docs/sharing/ios#photos

Ответ 2

У меня также была такая же проблема, как и в документации, также говорится, что они обеспечивают резервные механизмы, что, похоже, неверно для этого случая:

Встроенные Share Fallbacks

В предыдущих версиях SDK для iOS ваше приложение должно было проверить установленное приложение Facebook, прежде чем он сможет открыть диалоговое окно "Общий доступ". Если у человека не было установленного приложения, вам необходимо предоставить собственный код для вызова резервного диалога.

Теперь SDK автоматически проверяет собственное приложение Facebook. Если оно не установлен, SDK переключает людей на браузер по умолчанию и открывает диалог подачи. Если кто-то хочет поделиться историей Open Graph, SDK открывает диалог Web Share.

Ответ 3

Сначала настройте учетную запись Facebook на устройстве iOS и затем используйте следующий код, который будет работать:

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