У меня есть библиотека cocoapod, которая содержит активы в двух форматах:
- a.storyboard
- Каталог активов XCode.xcassets(с изображениями)
В моем файле podspec
содержится определение для ресурсного пакета:
s.resource_bundle = {'SparkSetup' => ['Resources/**/*.{xcassets,storyboard}']}
и у меня есть отдельная цель в проекте pod, чтобы создать пакет ресурсов, используя эти файлы + файл plist для этого пакета.
Дело в том, что, когда я использую pod в проекте приложения, я могу видеть файлы раскадровки /xcassets, находящиеся в целевой программе, и я могу легко получить доступ и запустить раскадровку, но изображения, на которые ссылаются в раскадровке (на .xcassets файл) не отображаются во время выполнения (но отображаются правильно в IB).
Ошибка:
Could not load the "spinner" image referenced from a nib in the bundle with identifier "(null)"
Я вижу файл пакета в каталоге продуктов. Чтобы внедрить VC в раскадровку, я использую:
+(NSBundle *)getResourcesBundle
{
NSBundle *bundle = [NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"SparkSetup" withExtension:@"bundle"]];
return bundle;
}
+(UIStoryboard *)getSetupStoryboard
{
UIStoryboard *setupStoryboard = [UIStoryboard storyboardWithName:@"setup" bundle:[SparkSetupMainController getResourcesBundle]];
return setupStoryboard;
}
который, кажется, хорошо работает для поиска раскадровки, но не для поиска изображений в .xcassets в том же комплекте.
Что я делаю неправильно? как я могу ссылаться на изображения из этой раскадровки/из кода и быть в состоянии интегрировать этот UI-модуль в любое приложение?
Спасибо!