设备上的 watchOS 2 不读取 NSData

watchOS 2 on device doesn't read NSData

在我的 watchOS 2 Apple Watch WatchKit Extension 中,我使用 NSURL 和 NSData 来请求 URL 并检索它发送的 JSON。但是,这只适用于模拟器。起初我遇到了一个问题,因为我使用了一个不受信任的地址(一个内部 IP 地址),但是在向 Info.plist 添加了一些键和值之后,这个问题就得到了解决。为了完全确定 URL 是可信的,我使用了来自 GitHub API (https://api.github.com/users/mralexgray/repos) 的开放 URL。我使用以下代码来检索响应:

var responseData: NSData? = nil
if let url = NSURL(string: "https://api.github.com/users/mralexgray/repos") {
    if let data = NSData(contentsOfURL: url){
        responseData = data
    }
}

在我的 watchOS 2 模拟器上,responseData 被正确填充,但在我的 Apple Watch 设备上,它看起来像第 3 行和它的正文被跳过了。这是问题、功能还是我做错了什么?

听起来像是 NSData 方法中的错误,contentsOfURL:option:error:说文件无法打开。

NSURLSession 工作正常。

NSURL * url = [NSURL URLWithString:@"https://api.github.com/users/mralexgray/repos"];

NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession]
                                      dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                          NSLog(@"data size %ld", (unsigned long)data.length);
                                      }];

[downloadTask resume];