Xcode не будет собирать плагин IB в папку ресурсов - PullRequest
1 голос
/ 18 мая 2009

Я создал собственный элемент управления и плагин Framework / IB для него с помощью шаблона плагина IB3.

Согласно документам плагин должен быть встроен прямо в каталог ресурсов фреймворка. Когда я собираю свой проект, плагин находится в папке конфигурации (Debug) вместе с фреймворком.

Это то же самое поведение прямо из коробки, когда я создаю новый шаблон. Я попытался изменить CONFIGURATION_BUILD_DIR на $(BUILD_DIR)/$(CONFIGURATION)/FrameworkName.framework/Resources/, но без изменений.

Для ухмылки я тоже пытался возиться с путём установки, но тоже ни к чему не привел. Я проверил пару других проектов с открытым исходным кодом, чтобы проверить их параметры сборки, но они идентичны моим собственным, и все же их плагин собран и помещен в каталог ресурсов, как и ожидалось.

Ответы [ 3 ]

1 голос
/ 18 мая 2009

Не связывайтесь с настройками сборки. Вместо этого добавьте фазу сборки «Копирование файлов» к цели фреймворка. В инспекторе для фазы сборки файлов копирования установите каталог «Ресурсы». Добавьте плагин к этой фазе сборки, перетащив продукт плагина из группы «Продукты» в дереве «Группы и файлы» в XCode.

0 голосов
/ 20 мая 2009

Чтобы включить созданный продукт одной цели XCode в каталог ресурсов продукта другой цели XCode, вы должны найти продукт в дереве групп и файлов и перетащить продукт в «фазу ресурсов комплекта» копии другая цель. Вы также должны добавить целевую зависимость между двумя целями с помощью панели получения информации для цели.

Если вы видите встроенный плагин в каталоге продуктов сборки, это не значит, что он также не был скопирован в каталог ресурсов платформы. Xcode встраивает все цели в каталог сборки, а затем копирует (а не перемещает) их в конечный пункт назначения, который в данном случае является каталогом ресурсов платформы. Одна из причин этого заключается в том, что товар может иметь несколько конечных пунктов назначения.

0 голосов
/ 19 мая 2009

Спасибо, Барри. Когда я попытался использовать фазу сборки файлов копирования, IB не смог разрешить соединение между фреймворком и плагином. Не удалось найти связанный плагин по какой-то причине.

Однако, после бесконечных поворотов, я обнаружил, что оказался ближе, чем думал. Изменение CONFIGURATION_BUILD_DIR на:

$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FrameworkName.framework/Resources/ 

и обновление путей поиска фреймворка решило проблему для меня. Это не поведение шаблона плагина (по крайней мере, на моей машине) из коробки, так что, надеюсь, это поможет кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...