设备上的 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];
在我的 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];