//老方法
- (void)viewDidLoad {
[superviewDidLoad];
//获取文件的访问路径
//2、封装URL
NSURL*url=[NSURLURLWithString:path];
//3、创建请求命令
NSURLRequest*request=[NSURLRequestrequestWithURL:url];
//4、响应的对象
__autoreleasingNSURLResponse*response;
//5、错误信息
__autoreleasingNSError*error;
//6、通过同步请求的方式返回data对象
NSData*data=[NSURLConnectionsendSynchronousRequest:requestreturningResponse:&responseerror:&error];
//7、json解析
NSArray*arr=[NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableLeaveserror:&error];
NSLog(@"%@",arr);
}
下面是新方法
- (void)viewDidLoad {
[superviewDidLoad];
NSURL*url=[NSURLURLWithString:path];
//创建请求命令
NSURLRequest*request=[NSURLRequestrequestWithURL:url];
//创建回话对象通过单例方法实现
NSURLSession*session=[NSURLSessionsharedSession];
//执行回话的任务
NSURLSessionTask*task=[sessiondataTaskWithRequest:requestcompletionHandler:^(NSData*_Nullabledata,NSURLResponse*_Nullableresponse,NSError*_Nullableerror){
//json解析
NSArray*arr=[NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableLeaveserror:&error];
NSLog(@"%@",arr);
}];
//真正的执行任务
[taskresume];
}
iOS9引入了新特性App Transport Security (ATS)。
新特性要求App内访问的网络必须使用HTTPS协议。
但是要使用HTTP协议用以下解决办法:
找到Info.plist文件并在其中添加App Transport Security Settings类型Dictionary。
在App Transport Security Settings下添加Allow Arbitrary Loads类型,Boolean值设为YES