0
我是新來的Objective-C,並努力讓下面的代碼正常工作。註銷dataString
告訴我API正在返回「Authentication Required」消息。但是,當我將結果URL放入瀏覽器時,我想要的信息會正確返回。我錯過了什麼? NSURLSession是否在做一些改變請求?使用NSURLSession進行「需要身份驗證」。用戶/密鑰正確
- (void)fetchWX
{
NSString *requestString = [NSString stringWithFormat:@"http://%@:%@@flightxml.flightaware.com/json/FlightXML2/Metar?airport=%@", FLIGHTAWARE_USERNAME, FLIGHTAWARE_API_KEY, _airport];
NSURL *url = [NSURL URLWithString:requestString];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSURLSessionDataTask *dataTask = [self.urlSession dataTaskWithRequest:req completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@", dataString);
}];
[dataTask resume];
}
有一個在我與的正常工作相似的結構的應用程序的另一種方法,並使用NSURLConnection的FlightAware的同步例子也能正常工作。只是似乎無法使用NSURLSession。
工作。猜猜我需要仔細閱讀文檔。謝謝 – Ja5onHoffman 2014-10-04 14:52:49