bad URLでつまづく。
bad URL が出てつまづいてた。
以下を参考にさせていただいて原因はおそらく
twitter APIに投げるリクエストに全角を含む文字列を渡してたからbad URLが出てたみたい。
[Objective-C] URLエンコード
http://blog.springdawn.info/post/41322443902/objective-c-url
NSURL *encodedUrl = [NSURL URLWithString:urlString];
NSString *encodedUrlString = [encodedUrl absoluteString];
niccollive: NSURLConnectionに渡すURLはきちんとエンコードしてから渡すこと
http://log.niccol.li/2011/02/nsurlconnectionurl.html
NSDataからNSStringに変換する際、initWithData:encoding:って文字コードを指定するんだけれども
http://www.j7lg.com/archives/213
元
NSString *urlString = @"https://api.twitter.com/1.1/search/tweets.json?q=あまちゃん"; [urlString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
変換一覧(引用)
NSUTF8StringEncoding, // UTF-8
NSShiftJISStringEncoding, // Shift_JIS
NSJapaneseEUCStringEncoding, // EUC-JP
NSISO2022JPStringEncoding, // JIS
NSUnicodeStringEncoding, // Unicode
NSASCIIStringEncoding // ASCII
文字列に全角含ませない形にしてとりあえずbad URLは消えました。
消えたのですが方法的に正しくなかったです。↑のアスキーコードへの変換ではなく、
Twitter APIに投げる場合はUTF-8にエンコードする。