IOS 6 Социальная каркас не собирается в настройках или нет оповещения - программирование

IOS 6 Социальная каркас не собирается в настройках или нет оповещения

Я пытаюсь реализовать новую социальную структуру в iOS6 и работать с ней, за исключением 2 странных проблем. Если я включил сервисы, которые меня интересуют (скажем... FaceBook), тогда все будет хорошо. Однако, если учетные записи будут удалены с панели настроек (скажем, FaceBook, чтобы быть последовательными), тогда я получаю разные и разочаровывающие действия в симуляторе и устройстве.

Вот соответствующий код в моем контроллере:

//Method for FaceBook

- (IBAction)doFacebook:(id)sender{
//check to see if facebook account exists
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    // Create the view controller defined in the .h file

    fb=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    // make the default string
    NSString *FBString= [NSString
                         stringWithFormat:@"%@\r via #GibberishGenerator", gibText.text];
    [fb setInitialText:FBString];
    // show the controller
    [self presentViewController:fb animated:YES completion:nil];

    }
}

И вот странное поведение при отключении вышеуказанного метода:

В симуляторе (версия 6.0 (358.4) я получаю диалоговое окно, информирующее меня о том, что я не настроил никаких учетных записей faceBook с кнопками "Настройки" и "Отмена". отклоняет диалог, но не приводит меня к панели настроек.

На моем iPhone 4s с 6.01, нажав кнопку, которая запускает метод, результат... ничего. Другими словами, у меня нет диалога, информирующего меня о том, что мне нужно настроить учетную запись FaceBook.

Заранее благодарим за помощь.


ОК... Вот исправление:

Здесь моя новая реализация, основанная на user1734802 полезный комментарий.

//Method for FaceBook

- (IBAction)doFacebook:(id)sender{

    // Create the view controller defined in the .h file

    fb=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    // make the default string
    NSString *FBString= [NSString
                         stringWithFormat:@"%@\r via #GibberishGenerator", gibText.text];
    [fb setInitialText:FBString];
    // show the controller
    [self presentViewController:fb animated:YES completion:nil];

      }

В какой-то момент я ожидаю

 [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])

чтобы действительно работать правильно (запуск автоматического диалога и переход к настройкам), поэтому я просто просто прокомментировал это в своем коде.

4b9b3361

Ответ 1

У меня была та же проблема, я исправил ее, удалив оператор If:

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])

Затем отобразится представление, хотя в настройках нет учетной записи Facebook/Twitter. И показ "Нет аккаунта Facebook/Twitter" alertView! И я смог нажать кнопку "Настройки" в предупреждении, и он направил меня к настройкам (настройте учетную запись Facebook/Twitter в настройках)

Это код, который я использовал, и он отлично работает для меня:

- (IBAction)bTwitter:(id)sender {

mySLComposerSheet = [[SLComposeViewController alloc] init];

mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

[mySLComposerSheet setInitialText:@""];

[mySLComposerSheet addImage:[UIImage imageNamed:@""]];

[self presentViewController:mySLComposerSheet animated:YES completion:nil];

}