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 Twitter フレームワーク

于 2012-11-03T15:41:57.980 に答える