Xcode 7 Json Fetching总是崩溃

时间:2015-06-15 10:25:46

标签: nsjsonserialization xcode7

每当我尝试通过xcode 7中的JSon获取数据时,它都会给我错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'

在xcode 6中它工作正常。是否在xcode 7中实现了新方法以从json获取数据。

[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139"]];


id response=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];

2 个答案:

答案 0 :(得分:0)

NSError *error;
NSURL *url = [NSURL URLWithString:@"http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse: nil error:&error];
if (!data)
{
    NSLog(@"Download Error: %@", error.localizedDescription);

}

// Parsing the JSON data received from web service into an NSDictionary object
NSDictionary *jSON =
[NSJSONSerialization JSONObjectWithData: data
                                options: NSJSONReadingMutableContainers
                                  error: &error];

试试这个工作

答案 1 :(得分:-1)

在iOS 9.0中,它将不再支持http://它需要https://

将此添加到info.plist解决了这个问题但不知道苹果会允许这样的应用在应用商店中发布。

< key>NSAppTransportSecurity< / key>
     < dict>
        < key>NSAllowsArbitraryLoads< / key>< true/>
     < / dict>

通过在文本编辑器中编辑info.plist来添加它不起作用,必须从xcode本身开始。 (我是编程新手)