Допустим, у меня есть существующий фреймворк iOS или Mac, который мы назовем Test.framework. фреймворк успешно скомпилирован и скомпонован (трюк был проделан с липо-арками i386 и armv6 / 7 для части iOS) и работает отлично.
Теперь я хочу добавить к нему изображение, назовем его ' test.png
'. Я скопировал его в папку Resources своего фреймворка, чтобы получить следующую структуру:
ls Test.framework
- Headers -> Versions/Current/Headers
- Resources -> Versions/Current/Resources
- Test -> Versions/Current/Test
- Versions
ls Test.framework/Resources
- Info.plist
- test.png
Однако, когда я создаю проект с использованием своего фреймворка, я не могу получить доступ к этому изображению.
I' Я пробовал:
[UIImage imageNamed:@"test.png"]
[UIImage imageNamed:@"Test.framework/test.png"]
[UIImage imageNamed:@"Test.framework/Resources/test.png"]
Но ничего не получалось, что всегда возвращало мне объект nil
.
Есть идеи?
РЕДАКТИРОВАТЬ
После долгих исследований выяснилось, что я пытаюсь достичь не может быть выполнено на iOS. Причина в том, что окончательный пакет приложений (.app) не копирует частные платформы, в которых будут работать приложения, скомпилированные для Mac OS.
Это i s более подробно описано в документации iOS Bundle Structures .
Спасибо Робу Кенигеру и xuzhe за их ценную помощь. Я воздаю должное xuzhe за ответ, так как на самом деле это наиболее подходящий ответ на мою исходную проблему (хотя комментарий Роба заставил меня углубиться в проблему)