NSURLSession没有在tvOS上工作?

时间:2015-11-19 13:26:47

标签: objective-c tvos apple-tv

我有这种方法来获取TV上的URL的内容:

-(void)placeGetRequestForDeveloperID:(NSString *)developerID andRunOnCompletion:(void (^)(NSData *data, NSURLResponse *response, NSError *error))ourBlock {

  NSString *urlString = [NSString stringWithFormat:@"https://itunes.apple.com/lookup?id=%@&entity=software", developerID];

  NSURL *url = [NSURL URLWithString:urlString];
  NSURLRequest *request = [NSURLRequest requestWithURL:url];

  NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
  NSURLSession *session = [NSURLSession sessionWithConfiguration:config];

  [session dataTaskWithRequest:request completionHandler:ourBlock];

}

永远不会调用完成块。

tvOS允许

NSURLSession。我是否需要在项目中设置一些内容,例如权限或Info.plist上的某些东西来使其工作?这段代码好吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

默认情况下,创建任务时,已暂停。您必须通过调用resume来启动任务。

[[session dataTaskWithRequest:request completionHandler:ourBlock] resume]

答案 1 :(得分:0)

您必须恢复任务才能启动API调用。

您也可以尝试API调用,如下所示。

    NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
      NSURLSession *session = [NSURLSession sessionWithConfiguration:config];



  NSURLSessionDataTask *apiCall = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

             NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

}];

[apiCall resume];