Ответ 1
Параметры, которые работают как с помощью утилиты командной строки, так и с помощью Xcode:
-
--base-class
: имя af в базовом классе, который наследует "частный класс" (например,_MyObject.h
). Это также добавит импорт в виде#import "MyManagedObject.h"
в тот же файл.h
. Совет. Если класс, который вы хотите наследовать, находится в библиотеке, инструкция импорта по умолчанию не будет работать. В качестве обходного пути вы можете получить дополнительный уровень наследования для каждого создаваемого вами проекта и наследовать этот класс из библиотеки (например, установить базовый класс вMyProjectManagedObject
, который вы создаете вручную, и наследовать отMyLibManagedObject
). -
--template-path
: путь к файлу 4.motemplate
. Когда это не предусмотрено, оно будет смотреть на все "каталоги поддержки приложений" (например,"/Library/Application Support/mogenerator/"
). -
--template-group
: имя подкаталога под используемым каталогомtemplate-path
. -
--template-var arc=true
: Обязательный для сгенерированных файлов для компиляции при использовании ARC. -
--output-dir
: выходной каталог для всех сгенерированных файлов. -
--machine-dir
: каталог, в который будут выводиться строки_<class>.h
и_<class>.m
. Если --output-dir также определен, этот параметр имеет приоритет. -
--human-dir
: каталог, в который будут выводиться значения<class>.h
и<class>.m
. Если --output-dir также определен, этот параметр имеет приоритет. -
--includem
: полный путь к файлу, который будет содержать все#import
для всех созданных файлов.h
. Этот файл не должен существовать (т.е. Он будет создан для вас, если это не так). Этот файл не будет автоматически включен в проект. Вы должны включить его вручную, перетащив его в список "Группы и файлы" вашего проекта.
Использование относительных путей в Xcode для любого из приведенных выше аргументов не будет работать, поскольку рабочий каталог установлен в один из корневых каталогов системы (например, приложения, разработчик, библиотека или система). (У меня не было достаточно времени, чтобы выяснить, какой из них это точно.)
Параметры, которые нельзя использовать в Xcode:
-
--model
: путь к файлу .xcdatamodel не может быть установлен в Xcode. -
--list-source-files
-
--orphaned
-
--versioned
-
--help
Запуск и отправка параметров в xmod через Xcode:
(Обновление: я не пробовал это на Xcode 4, только Xcode 3. Для Xcode 4 вы можете добавить mogenerator в качестве фазы сборки вместо следующих шагов.)
- Перейдите на информационную страницу файла
.xcdatamodel
. - Выберите вкладку "Комментарии".
- Добавить
xmod
в поле комментариев в своей строке. - Каждый раз, когда вы сохраняете модель, она восстанавливает файлы машин для вас.
Чтобы отправлять параметры, они должны быть в отдельной строке:
Это работает:
xmod
--base-class CLASS
--template-path PATH
И даже это работает:
xmod
--base-class CLASS --template-path PATH
Но это не сработает:
xmod --base-class CLASS --template-path PATH
Примечание. Вы должны закрыть окно "Информация", чтобы настройки вступили в силу.