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

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

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

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

Есть какие-нибудь предложения о том, как это требование может быть выполнено?

10
задан EmptyStack 19 August 2011 в 10:02
поделиться