SLServiceTypeFacebook setInitialText не работает
Я пытаюсь поделиться текстом на Facebook с помощью SLServiceTypeFacebook на IOS 8.3. Но всплывающее текстовое поле отображается пустым. Я хочу, чтобы он отображался с текстом в нем. Ниже вы можете увидеть код, который я использую для этого.
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"First post from my iPhone app"];
[self presentViewController:controller animated:YES completion:Nil];
}
Ответы
Ответ 1
Кажется, проблема связана с установкой последнего обновления приложения Facebook (v29). Удаление "исправляет" проблему.
https://developers.facebook.com/bugs/1632385646995079/
https://developers.facebook.com/bugs/962985360399542/
Обновление (3 июня 2015 г.)
Ну. Похоже, что в новой политике Facebook говорится, что предварительное заполнение сообщения через setInitialText:
является нарушением предполета.
https://developers.facebook.com/docs/apps/review/prefill
Итак, я думаю, что единственный способ поделиться содержимым с этого момента - FBSDKShareDialog
https://developers.facebook.com/docs/sharing/ios
Ответ 2
Надо любить эффективность Facebook. Немного поздно, но может помочь кому-то.
#import <FBSDKShareKit/FBSDKShareKit.h>
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = self.urlForSocialMedia;
content.contentDescription = self.textForFB;
content.contentTitle = @"Results.";
[FBSDKShareDialog showFromViewController:self
withContent:content
delegate:self];