Изображения на яблочных часах
Я столкнулся с проблемой вчера, когда мое заявление было отклонено. Видимо изображения не отображаются на реальных Apple Watch, однако они отображаются в симуляторе. Я даже попытался сбросить симулятор и не могу воспроизвести проблему, которая возникла у сотрудника Apple. Поэтому мне просто интересно, как правильно добавить / отобразить изображения на яблочных часах, чтобы они правильно отображались на реальном жестком устройстве?
Код:
.час
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliLeft;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliRight;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliCenter;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTL;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTM;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTR;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsML;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsMM;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsMR;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBL;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBM;
@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBR;
.m Когда я на самом деле устанавливаю изображение программно
[self.imageHeliLeft setImageNamed:@"helicopter_1"];
В противном случае я использовал конструктор интерфейса, чтобы установить изображение
4 ответа
Если вы устанавливаете изображения в своем коде расширения, вы должны также добавить все изображения в цель расширения.
Вот ответ. Я не могу раскрыть, почему я знаю это, но это то, что вам нужно сделать.
- Удалите все изображения из вашей цели приложения Watch.
- Добавлены изображения в файл ресурсов изображений, который находится в целевом приложении Watch.
- Ссылка на изображения по имени в файле активов.
Если вы видите изображения в симуляторе, а их нет в целевом приложении Watch и они находятся в файле ресурсов, они будут работать для рецензента.
Начиная с Xcode 6.3, iOS 8.3:
Оставьте ".png" часть имени изображения. На раскадровке это будет выглядеть странно, показывая вместо синей пиктограммы синее "?", Но будет работать как на симуляторе, так и на часах. То же самое касается указания PNG для контекстных меню и программного задания анимации.
Убедитесь, что имена файлов правильные, а изображения помещены в правильную целевую библиотеку ресурсов.
Рекомендуется размещать файлы ресурсов изображений в комплекте приложения WatchKit (а не в комплекте расширения WatchKit). Помещая их в комплект приложения WatchKit, вы можете использовать метод setImageNamed: этого класса для указания анимированного изображения. Установка их с использованием этого метода обеспечивает лучшую производительность, устраняя необходимость переноса изображений с iPhone пользователя на Apple Watch. Другие методы настройки изображения должны по беспроводной связи отправлять объект UIImage или данные изображения, которые вы предоставляете, в Apple Watch.