2013-08-15 7 views
2

Я не могу сказать, почему функция setInitialText не работает в моей реализации SLServiceTypeFacebook. Код, который я использовал для Facebook и Twitter, почти идентичен, за исключением случаев, когда Facebook заменяет слово Twitter, а твиттер работает отлично. Любая помощь оценивается. БлагодаряSLServiceTypeFacebook setinitialtext не работает

if ([buttonTitle isEqualToString:@"Facebook"]){ 

     if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 
     { 

       SLComposeViewController *faceSheet = [[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] init]; 
       NSLog(@"%@", messageField.text);//This returns the appropriate string 
       [faceSheet setInitialText:messageField.text]; 
       //The facebook VC appears, but initial text is not set to messageField.text 
       [self presentViewController:faceSheet animated:YES completion:nil]; 
     } 
} 
+0

Как это работает? Это бросает какие-либо ошибки или просто не показывает лист? –

ответ

0

Это, конечно, странный вопрос, и посмотреть, как я не вижу ничего, очевидно, неправильно с этим, так вот мое предложение. Возможно, что-то что-то запуталось из-за постороннего инициализатора, установленного вами на композиторе. composeViewControllerForServiceType: уже alloc/init является экземпляром SLComposeViewController, поэтому нет необходимости добавлять init. Заменить это:

SLComposeViewController *faceSheet = [[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] init]; 

С этой линией:

SLComposeViewController *faceSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 
+0

Это решило проблему! Благодарю. Хотя довольно странно, что посторонний init не вызывал проблем с контроллером просмотра twitter. Однако я сделал это для хорошей меры. – cph2117

+0

Любая идея, как Swift пойдет по этому поводу? –

+0

@IfPollavith 'let faceSheet = SLComposeViewController (forServiceType: SLServiceTypeFacebook)' –

0

Это не проблема, Facebook не позволяет anymore.Facebook меняет свою политику конфиденциальности платформы для функции акций. Используйте ниже ссылку для ссылки

https://developers.facebook.com/docs/sharing/ios