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?

4

2 回答 2

1

在我看来,iOS 6 隐式转换TWTweetComposeViewControllerSLTwitterComposeViewController. SLTwitterComposeViewController没有任何setDelegateTwitter:方法。这就是发生错误的原因。

恕我直言

于 2012-11-05T06:17:51.290 回答
0

您的代码将在 iOS 5 版本中运行。因为你已经包含了twitter.framework并且它将被替换为social.framework所以你需要检查设备是 iOS 6 还是 5。这是一个为 iOS 5 和 iOS 6 版本集成 twitter 的链接。

iOS 6 社交框架

iOS 5 推特框架

于 2012-11-03T15:41:57.980 回答