2015-10-14 98 views
1

我开发了一个使用WatchKit 2的应用程序。 我必须从iOS设备传输图像才能观看。我发送了图片网址。 这是我值班伸出端代码,我过去常常把我的WKInterfaceImage图像:WatchKit没有下载图片

 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的’无法打开”。用户信息= {NSURL = https://“图片url”}

回答

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() 
     }