SLComposeViewController Facebook недоступен

Я использую фрагмент кода, который был опубликован в моем предыдущем вопросе, Простой способ добавить публикацию в Facebook/Twitter в приложение?

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
    SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [slComposeViewController setInitialText:@"Your text"];
    [slComposeViewController addImage:[UIImage imageNamed:@"NameOfImage"]];
    [self presentViewController:slComposeViewController animated:YES completion:nil];
} else {
    //Show alert or in some way handle the fact that the device does not support this //feature
    NSLog(@"Facebook not available");
}

Но когда я запускаю его на устройстве, а в симуляторе все, что я получаю, это «Facebook недоступен», что я могу делать неправильно?

Я просмотрел доступные учебники и включил необходимые библиотеки, поэтому я не уверен, что еще я делаю неправильно.


person Phil    schedule 06.02.2014    source источник
comment
Если учетная запись FaceBook не указана в Setting.app, это нормально.   -  person Larme    schedule 07.02.2014
comment
Так не будет ли проблем у людей, которые зарегистрированы в Facebook/Twitter? только если у вас не настроены эти службы, он скажет, что они недоступны?   -  person Phil    schedule 07.02.2014
comment
SLComposerViewController позволяет пользователю публиковать сообщения в FaceBook. Но как узнать, какую учетную запись использовать? Помните, что для использования Facebook вам необходимо создать учетную запись или войти в систему. Apple представила начиная с iOS6 вход в систему из Settings.app, вот ключ к вашей проблеме. Если пользователь не авторизован, поста в FaceBook нет.   -  person Larme    schedule 07.02.2014
comment
Если вы поставите это как ответ, я приму это.   -  person Phil    schedule 07.02.2014


Ответы (1)


В Settings.app/Facebook вам необходимо настроить учетную запись. SLComposeViewController позволяет вам публиковать сообщения на Facebook, только если у вас есть учетная запись. Это нормальное поведение, так работает FaceBook: нет учетной записи, там нечего делать.
Начиная с iOS6 вы можете войти в свою учетную запись в iOS, что позволит приложениям использовать эту учетную запись с некоторыми платформами iOS без импорта Facebook SDK. Конечно, с Social.framework у вас мало возможностей, и если вы хотите сделать больше, например временные шкалы и т. д., вам придется использовать FaceBook SDK.

person Larme    schedule 07.02.2014