Я пытаюсь реализовать новую социальную структуру в 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])
чтобы действительно работать правильно (запуск автоматического диалога и переход к настройкам), поэтому я просто просто прокомментировал это в своем коде.