Изображения, находящиеся внутри импортированного pod .xcasset, выбираются (и доступны для просмотра) внутри раскадровки Interface Builder, но не отображаются в симуляторе

#ios #swift #xcode #cocoapods #xcasset

#iOS #swift #xcode #cocoapods #xcasset

Вопрос:

Я нахожусь в середине какого-то проекта «Proof of Concept», касающегося Cocoapods, .xcassets, Swift 3, «межпроектной загрузки изображений» (из пакетов pod в основную раскадровку) и т. Д…

Моя главная проблема сейчас заключается в том, что «изображения, находящиеся внутри импортированного .xcasset (через pod install / update), выбираются и отображаются внутри основной раскадровки проекта Interface Builder, но не отображаются в симуляторе».

Во время выполнения симулятор, на котором запущено мое основное приложение, выдает что-то вроде этого: не удалось загрузить изображение «cx_green_tick», на которое ссылается кончик в пакете с идентификатором «MyCompany.ios-appbase», когда он пытается отобразить выбранное изображение. И тогда в ожидаемом пространстве-заполнителе ничего не появляется, только пустое пространство.

MyCompany.ios-appbase — это имя пакета моего основного приложения.

cx_green_tick — это логическое имя некоторого ресурса изображений, который счастливо живет в моей папке «Commons», импортированной в project Media.xcasset. Этот ресурс изображений состоит из 3 правильных файлов .png с их именами @1x, @2x, @3x и т.д…

Мой проект модуля Commons Pod (содержащий файлы / папки .xcasset, которые я хочу использовать в своем основном проекте) имеет файл .podspec со следующим определением ресурсов (среди многих других вещей):

 s.resources = [ 'Commons/**/*.{png,jpeg,jpg,storyboard,xib,ttf,otf}' , 'Commons/**/*.{xcassets, imageset, json}' ]
  

Как только я нахожусь в корневой папке моего основного проекта, я просто набираю «pod update / install», и я вижу, как различные модули, которые я определил в моем основном подфайле приложения, начинают загружаться и отлично сохраняются в ожидаемой папке Pods моего основного проекта.

Затем, внутри Xcode, я вижу, как внутри контейнера Pods / Commons / Media.xcassets находится ожидаемый ресурс изображения cx_green_tick с его 3 правильными разрешениями.

Затем я переключаюсь на свое основное приложение Main.storyboard и выбираю ресурс изображения cx_green_tick для использования в заполнителе UIImageView. Всякий раз, когда я это делаю, я вижу, как это изображение с зеленой галочкой появляется внутри IB. Но если я запускаю симулятор, это изображение не отображается в его заполнителе.

Я использую Swift 3.0, XCode 8, цель развертывания — iOS 9. Все мои задействованные подфайлы имеют use_frameworks !ключевое слово / строка активны.

Я ДЕЙСТВИТЕЛЬНО искал это в течение многих часов (вчера и сегодня), но я не вижу никаких намеков на то, как это сделать, не выполняя загрузку изображения вручную программно. (На случай, если это что-то достижимое, в чем я не совсем уверен после всего этого)

Кстати: если я загружу это изображение программно, явно выбрав пакет, в котором ресурс изображения находится внутри Media.xcassets, изображение появится в симуляторе без каких-либо проблем.

Это может быть частичным решением, но нашей главной целью было не выполнять загрузку изображений вручную. Особенно, когда (по-видимому) IB отображает это изображение в списке со списком ресурсов image_name в верхней части экрана для заполнителя UIImageView.

Есть какие-либо подсказки?

(Если что-то неясно, пожалуйста, спросите, и я постараюсь как-нибудь перефразировать это)

Заранее приветствую и благодарю.