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

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];
  }
4b9b3361

Ответ 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];