2009-04-30 3 views
8

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

Я думал о создании CFPluginBundle, но это создает новый проект. Я потеряю все ссылки на IBOutlet и IBAction. Каков наилучший способ повторного использования xibs, который также имеет выходы и действия для определенных контроллеров?

ответ

0

Я не уверен, что вы подразумеваете под «включать xibs как часть библиотеки», поскольку статические библиотеки не могут иметь ресурсы - но они также не отправляются автономно, поэтому они не нужно. Если вы просто хотите использовать повторное использование кода для своих собственных проектов, вы можете сохранить xibs, где бы вы не сохранили статическую библиотеку, и просто включить xib в любой проект, который использует библиотеку.

Если вы идете по маршруту CFPluginBundle, вы можете создавать новые объекты в существующем проекте; в шаблонах нет ничего волшебного, они просто заботятся о создании фиктивных файлов и включении правильных настроек сборки. Вы можете скопировать их в новую цель в своем существующем проекте, и все будет работать нормально. Тем не менее, я не уверен, что вы имеете в виду о потерях ссылок IBOutlet и IBAction, поскольку эта информация является частью xib (и класса, который вы используете в xib), а не проекта.

2

У меня была такая же проблема, когда я хотел экспортировать свой проект в качестве библиотеки для других разработчиков использовать. Я нашел идеальное решение для своего взгляда, и, похоже, он ответит на ваш вопрос.

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

https://github.com/kstenerud/iOS-Universal-Framework

Я не знаю, ребята, которые построили этот плагин, но он работает как шарм

+0

Как вы в конечном итоге, ссылающийся на перо? Я пытаюсь initWithNibName: bundle, но я не знаю, что положить в пакет. – OlivaresF

+1

Я использую файлы nib и другие ресурсы, как обычная разработка приложений. Этот инструмент завершает весь проект в папке, в которой есть статическая библиотека и ресурсы. Приложение, которое хочет включить эту библиотеку, должно ссылаться на всю папку, которая была экспортирована этим инструментом, включая папку ресурсов, а не только двоичную –