Упаковка пакета со статической библиотекой - PullRequest
8 голосов
/ 30 апреля 2009

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

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

Ответы [ 3 ]

4 голосов
/ 31 января 2011
2 голосов
/ 22 декабря 2011

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

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

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

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

0 голосов
/ 30 апреля 2009

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

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

...