Разрешено ли наследовать 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.