Разрешено ли наследовать TWTweetComposeViewController? У меня сбой на ios 6.0

Мое приложение работает на устройстве с 5.1 (ipad). Но он рухнул на симуляторе 6.0. Пожалуйста, посмотрите на ошибку.

@interface TwitterViewController : TWTweetComposeViewController

@property (weak, nonatomic) id<TwitterVCDelegate> delegateTwitter;

@end

// В QuotesVC я звоню

TwitterViewController *tweetVC = [[TwitterViewController alloc] init];
tweetVC.delegateTwitter = self;
[tweetVC postWithQuote:[quotesArray objectAtIndex:currentIndex]];

// мое приложение упало

-[SLTwitterComposeViewController setDelegateTwitter:]: unrecognized selector sent to instance 0xa8d1bb0
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SLTwitterComposeViewController setDelegateTwitter:]: unrecognized selector sent to instance 0xa8d1bb0'
 libc++abi.dylib: terminate called throwing an exception

Изменить Все работает хорошо, если я не наследую TWTweetComposeViewController.

   TWTweetComposeViewController *tweetSheet =
    [[TWTweetComposeViewController alloc] init];
    [tweetSheet setInitialText:@"Initial Tweet Text!"];
    [self presentModalViewController:tweetSheet animated:YES];

Я тестировал этот код на устройстве iPad 5.1 и симуляторе ios 6.0. Это работает хорошо.

Разрешено ли наследовать TWTweetComposeViewController?

2 ответа

Решение

На мой взгляд, iOS 6 неявно конвертировать TWTweetComposeViewController в SLTwitterComposeViewController, SLTwitterComposeViewController не имеют setDelegateTwitter: метод. Вот почему произошла ошибка.

по моему мнению

Ваш код будет работать в версиях iOS 5. Потому что вы включили twitter.framework, и он будет заменен на social.framework. Так что вам нужно проверить, является ли устройство iOS 6 или 5. Здесь есть ссылки для интеграции твиттера для версий iOS 5 и iOS 6.

iOS 6 Социальные рамки

iOS 5 Twitter Framework

Другие вопросы по тегам