2016-02-10 41 views
1

我正在创建使用WatchKit 2.0的对话线程,并且无法在对话内下载多个图像。我能够使用WatchConnectivitysendMessage获得单个图像。我可以拿回NSData,我可以使用UIImageWatchKit检索多个URL图像

当对话线程中有两个不同的图像时,这些调用都不能正确检索图像。我用火关闭消息的代码是

if WCSession.isSupported() { 
    // Set the session to default session singleton 
    session = WCSession.defaultSession() 
    // Fire the message to iPhone app 
    session!.sendMessage(["action": "getImage", "url": message.media.filename], replyHandler: { (response) -> Void in 

     // Extract the image data of the boarding pass 
     if let data = response["messageData"] as? NSData { 
      row.image.setImage(UIImage(data: data)) 
     } 
     , errorHandler: { (error) -> Void in 
      // Print error 
      print(error) 
    }) 
} 

我试图用另一个线程与

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) 

但是,这并没有帮助。我发现了一个帖子Load image from URL on WatchKit,但NSURLSession从未完成,即使只有一个图像。

如何从不同的URL检索多个图像?

回答

0

您是否请求来自同一个sendMessage调用的两个图像? NSData对象的大小是有限制的,只有几兆字节。您可能想要尝试中断请求以将图像检索为两个单独的调用。

另外,是否有任何错误消息打印从您的错误处理程序?

+0

我确实必须为每个图像使用不同的调用。而且由于存在大小限制,我确实恢复了在我所包含的链接上使用该消息。还必须确保'info.plist'中的'NSAllowsArbitratyLoads'布尔值已设置。 –