Я использую SDK для Facebook на iOS (цель-c), чтобы поделиться имиджем на Facebook. Вот код, который я использую:Общий доступ к facebook sdk 4.0 + iOS
-(IBAction)facebookShare:(UIButton *)sender {
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = self.image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
[FBSDKShareDialog showFromViewController:self withContent:content delegate:self];
}
Где изображение является UIImage, что я установил, выбирая его из галереи пользователя. Когда я пытаюсь нажать свою кнопку (с этим IBAction), приложение вылетает с этой ошибкой:
1 июл 10:50:23 .local pkd [917]: ошибка получения прав на pid 922 1 июл 10:50: 23 - [MainViewController sharer: didFailWithError:]: непризнанный селектор отправлен в экземпляр 0x7fd70940efd0 1 июля 10:50:23: *** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [MainViewController sharer: didFailWithError:]: непризнанный селектор отправляется например 0x7fd70940efd0'
вот новая ошибка после фиксации кода таким образом
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = //YOUR IMAGE photo.userGenerated = YES;
FBSDKSharePhotoContent * photoContent = [[FBSDKSharePhotoContent alloc] init];
photoContent.photos = @[photo];
FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc] init];
shareDialog.shareContent = photoContent;
shareDialog.delegate = (id)self;
shareDialog.fromViewController = self;
NSError * error = nil;
BOOL validation = [shareDialog validateWithError:&error];
if (validation) {
[shareDialog show];
}
:
ул 1 15:55:02 .local DailyPic [1169]: libMobileGestalt MobileGestalt.c: 1025: Не удалось получить данные региона 1 июля 15:55:06 com.apple.CoreSimulator.SimDevice.D482DFDD -3051-4759-B70D-94EC93BFF5D0.launchd_sim [471] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Ключ _DirtyJetsamMemoryLimit недоступен на этой платформе. 1 июл 15:55:07 o.local pkd [498]: ошибка получения прав для pid 1169 июль 1 15:55:07 local Dailypic [1169]: Ошибка домена = com.facebook.sdk.share Code = 2 " Операция не может быть завершена. (Com.facebook.sdk.share error 2.) «UserInfo = 0x7ffc8a59bcd0 {com.facebook.sdk: FBSDKErrorArgumentValueKey =, com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Диалоги обхода фида поддерживают FBSDKShareLinkContent., Com .facebook.sdk: FBSDKErrorArgumentNameKey = shareContent} 1 июль 15:55:10 местный securityd [499]: SecTaskCopyAccessGroups Никакой группы доступа брелки указан в то время как работает в тренажере, падая обратно по умолчанию не установлено
Наконец решена с использованием другого эмулятора.
Делегирование метод 'Sharer: didFailWithError:' 'из FBSDKShareDialog' не реализован. – Larme