我使用WatchKit 2开发应用程序。 我必须从iOS设备传输图像才能观看。我发送了图片网址。 这是我用于在WKInterfaceImage上设置图像的手表扩展端的代码:
NSError *error = nil;
NSData * dataq = [NSData dataWithContentsOfURL:[NSURL URLWithString:"url string"] options:NSDataReadingMappedAlways error:&error];
UIImage *img = [UIImage imageWithData:dataq];
[cell.babyImage setImage:formattedImage];
在模拟器(手表模拟器和手表模拟器)上它可以工作,但在真实设备(iPhone和手表)上我收到错误:
错误=
错误域= NSCocoaErrorDomain代码= 256"无法打开文件“image.jpg”。" UserInfo = {NSURL = https://" image url"}
答案 0 :(得分:3)
我有一个类似的问题只是用NSData将图像下载到手表,但我没有从iPhone传输它。图像也没有显示在真实手表上,而是显示在模拟器中。
我刚刚切换到NSUrlSession.dataTaskWithURL并且工作正常:
func loadImage(imageUrl: String, forImageView: WKInterfaceImage) {
NSURLSession.sharedSession().dataTaskWithURL(imageUrl, completionHandler: {(data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
if let image = UIImage(data: data!) {
dispatch_async(dispatch_get_main_queue()) {
forImageView.setImage(image)
}
} else {
NSLog("could not load data from image URL: \(imageUrl)")
}
}).resume()
}