2016-06-21 2 views
0

Я создаю a project on Github, написанный в Objective-C. Он разрешает MAC-адреса вплоть до деталей производителя. Таблица поиска в настоящее время хранится в виде текстового файла manuf.txt (из проекта Wireshark), который анализируется во время выполнения, что является дорогостоящим. Я бы предпочел скомпилировать это для архивных объектов во время сборки и загрузить вместо этого.Добавление двух новых фаз в проект рамки Xcode

Я хотел бы изменить фазы сборки таким образом, что я:

  1. Построить простой компилятор
  2. Запустите компилятор, разбор manuf.txt и вывода заархивированные объекты
  3. Построить структуру
  4. Скопируйте архивные объекты в каркасе

Я ищу мудрость о том, как достичь успеха ve шаги 1 и 2 с использованием Xcode v7.3, поскольку Xcode предоставляет только фазу Copy Files или фазу Run Script. Пример других проектов, направленных на достижение аналогичных целей, будет вдохновлять.

ответ

1

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

Во-первых, вам нужно будет использовать фазу сценария запуска для запуска различных инструментов из командной строки для анализа вашего файла и создания из него нескольких файлов классов. Я бы предложил изучить различные шаблоны двигателей. Например, appledoc использует шаблоны усов для создания файлов документации API. Вы можете использовать ту же технику для создания файлов заголовков и реализации.

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

Чтобы автоматически включить сгенерированный код, на который я бы посмотрел (что означает, что я на самом деле не пробовал это :-) добавление ссылки на папку для проекта, а не в группу Xcode. Ссылки на папки - это опция в диалоговом окне «Добавить файлы в ...».

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

0

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

Однако, я должен сделать что-то подобное в Objective-Cloud. Я просто добавил фазу сборки сценария запуска и поместил в нее вызов компилятора.

 Смежные вопросы

  • Нет связанных вопросов^_^