Расширение WatchKit [4608:145616] Невозможно найти изображение с именем "hello" на Watch
Проблема:
Попытка установить текст WKInterfaceLabel с помощью xCode 6.2, но он возвращает эту ошибку:
WatchKit Extension[4608:145616] Unable to find image named "hello" on Watch
Код:
@IBOutlet var lblPassword: WKInterfaceLabel!
lblPassword.setText("hello")
8 ответов
Я получил ту же ошибку, хотя я почти уверен, что эти файлы изображений существуют.
Я просто завершил Xcode, перезапустил его, очистил проект (команда + K) и собрал его. Это начало работать снова.
Я делаю эту процедуру каждый раз, когда сталкиваюсь с новой проблемой. Это решает большинство проблем, как вы, возможно, знаете. Извините, если вы уже сделали это.
Очистка проекта, кажется, не решает проблему для меня. Но если вы нажмете на файл изображения, вы увидите опции "Целевое членство" на правой панели. Выберите все из них, очистите сборку и попробуйте снова.
Я предполагал, что вы добавляете изображение в каталог ресурсов в расширении WatchKit. Это неправильно. Вы должны добавить это изображение в каталог ресурсов в приложении WatchKit. Извините, я не могу добавить изображение здесь.
У меня была точно такая же проблема. Решение: я подключил группу, которая является родителем WKInterfaceLabel. Попробуйте установить YOURSUPPOSEDLABLE.setTextColor(.brown), если фон изменится, вы подключили группу.
Для меня, похоже, вы добавили "привет" в качестве имени изображения где-то в раскадровке. Используйте диалог поиска XCode, чтобы найти "привет". Он также покажет использование в качестве имени изображения.
Итак, в моем случае я скопировал и вставил предыдущую строку и назначил класс diff.
Группа этой дублированной строки все еще имела соединение IBOutlet с предыдущим классом, которое я не уловил.
Как только я удалил это соединение, эта глупая проблема разрешилась сама собой, и я смог успешно позвонить.setText()
Итак, главное, что нужно отметить, это то, что "вы не хотите перетаскивать изображения в AssetCatalog"...... единственный способ, которым это сработало для меня, это вручную щелкнуть правой кнопкой мыши по каталогу (как показано на экране снимок 1 и "Добавить файлы".... найдите изображение, которое хотите добавить на локальный / внешний диск (убедитесь, что в разделе "Добавить к целям" выбрана только галочка "Приложение WatchKit"), как показано на снимке экрана 2) и добавить изображения!
Как я ни старался, мои изображения не были загружены в часы, пока я не сделал это напрямую, "кэшировав", как показано в моем InterfaceController в расширении WatchKit:
[[WKInterfaceDevice currentDevice] addCachedImage:[UIImage imageNamed:@"carrota.png"] name:@"carrot"];
[self.portfiolioImage setImageNamed:@"carrot"];