2016-02-10 43 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'布爾值已設置。 –