WatchKit не загружает картинку

Я разрабатываю приложение с помощью 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 и часы) я получил ошибку:

ошибка =

Error Domain = NSCocoaErrorDomain Code = 256 «Не удалось открыть файл image.jpg». UserInfo = {NSURL = https: // "URL изображения"}


person Florin Lazau    schedule 14.10.2015    source источник


Ответы (1)


У меня была аналогичная проблема, просто чтобы загрузить изображение на часы с помощью 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()
        }
person Kevin Seidler    schedule 17.10.2015
comment
Действительно, именно та проблема, которая у меня была! - person Medhi; 25.11.2018