2013/08/12

[iOS][Objective-C]TWRequestについて

TWRequestクラスを使ってリクエストを飛ばそうと実装しているのですが、認証が必要な場合、下のように実装しました。

ACAccount *acAccount;
TWRequest *tWRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"https://api.twitter.com/1.1/users/show.json"] parameters:[NSDictionary dictionaryWithObject:@"" forKey:@"user_id"] requestMethod:TWRequestMethodGET];
tWRequest.account = acAccount;
[tWRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error){

}];
で、ここでクラッシュしてしまう。
ACAccountには、適切に値が設定されているにもかかわらず。

原因を調査してみた結果、「iOS開発:iOS Twitter frameworkを使う」によればACAccountStoreの参照が必要とあり、ACAccountクラスしか使わないにも関わらず、最終的に、ACAccountStoreクラスのインスタンスが必要なようです。

で、確かに、プロパティでACAccountStoreを保持させたところ、正常終了しました。

うーん、マニュアルに書いてなかったので、クリアーするまでに、すっげー時間がかかったなー。

0 コメント:

コメントを投稿