iPhoneアプリを実行しているときに、次のエラーが何度か発生しました
The connection failed due to a malformed URL
でCFNetwork Error Codes Reference
、このエラーがCFNetworkによってトリガーされたという情報を取得しました
- このエラーがトリガーされるのはいつ、なぜですか?
- このエラーを取り除く方法は?
NSURLConnectionには、URLが有効かどうかに関係なくブール値を返すcanHandleRequestメソッドがあります。
NSString *strUrl = [NSString stringWithFormat:@"http://test.com/stopBoard/%i",busStopCode];
NSURL *url = [NSURL URLWithString:strUrl];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
timeoutInterval:20.0];
// a cache policy of NO must be used otherwise the previous query is used if the phone is not online
BOOL canGo = [NSURLConnection canHandleRequest:request];
if(canGo){
connection = [[NSURLConnection alloc] initWithRequest:request
delegate:self
startImmediately:YES];
} else {
self.errorMessage = @"\n\nurl check failed\n\n";
return NO;
}