Создание статической структуры, использующей Xibs... как?

Мне нужно создать упаковку классов пользовательского интерфейса, которые могут быть включены разработчиком в проект интеграции XCode4 , а затем получить экземпляр с помощью файла конфигурации в сочетании с NSClassFromString - a статический плагин. У меня был успех с созданием библиотек, которые содержат UIViews, что макет на основе кода. Теперь я пытаюсь разрешить разработчику создавать пользовательские интерфейсы на основе xib файлов и других ресурсов. Я реализую самую основную версию этого... UIViewController, загружая файл xib, созданный непосредственно через мастер "нового файла" в XCode4. Единственная модификация, которую я делаю, заключается в добавлении метки в пользовательский интерфейс в xib.

У меня возникают проблемы с загрузкой xib. Если я включу xib в проект интеграции , все будет хорошо. Когда я создаю UIViewController из библиотеки, он находит xib в корневом каталоге приложения и загружает его. Однако это очень громоздко во время сборки проекта интеграции, я хотел бы иметь возможность просто ссылаться на библиотеку и не добавлять каждый xib в проект интеграции . > индивидуально. Кроме того, использование корня пакета приложений плохо, потому что нет структуры каталогов, которая могла бы облегчить несколько статических плагинов . Я попытался создать папку, которую может включить проект интеграции во время его сборки, а xibs для статического плагина можно просто загрузить в папку до сборки. Если я это сделаю, xib попадает в комплект приложений, но когда класс UIViewController загружается, он не может найти xib. Я не смог закодировать решение, чтобы заставить UIViewController initWithNibName: bundle: правильно, когда xibs находятся в подпапке.

Моя последняя попытка состояла в создании статической структуры с использованием этой статьи: http://simplyitinc.blogspot.com/2011/04/creating-static-framework-in-xcode-4.html. Это, похоже, дает мне фреймворк, с которым я могу связать, и xib находится в этом каталоге фреймворка, но... xib не попадает в комплект приложения, когда я связываюсь с каркасом. Мои классы доступны, но не загружают xib, очевидно, потому что это не в комплекте приложений.

Любое предложение о том, как это требование может быть выполнено?

Ответ 1

Посмотрите мой ответ на следующий вопрос. Основная идея заключается в том, что вы создаете пакет для размещения xib, изображений и любых других ресурсов и используете это вместе со своей статической библиотекой.

Зависимость от проекта iPhone