Mogenerator的帮助信息非常少。所有这些参数都是干什么用的?
Mogenerator的帮助信息非常少。所有这些参数都是干什么用的?
这些参数既适用于命令行工具,也适用于Xcode:
--base-class
:基类的名称,"private class"(例如_MyObject.h
)将从中继承。这也会在同一个.h
文件中添加一个形如#import "MyManagedObject.h"
的导入语句。提示:如果要继承的类位于库中,则默认的导入语句将不起作用。作为解决方法,您可以为每个创建的项目增加额外的继承层级,并使该类从库中继承(例如,将基类设置为手动创建并从MyLibManagedObject
继承的MyProjectManagedObject
)。--template-path
:4个.motemplate
文件所在的路径。如果未提供此参数,它将查找所有的"app support directories"(例如"/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
:包含所有.h
文件的#import
的文件的完整路径。此文件不需要存在(即,如果不存在则会为您创建)。该文件不会自动包含在项目中。您必须手动将其拖入项目的"Groups & Files"列表中。在Xcode中使用相对路径来设置任何参数都不会生效,因为工作目录被设置为系统的根目录之一(例如Applications、Developer、Library或System),我还没有足够的时间找出它到底是哪一个。
Xcode中不能使用的参数:
--model
:.xcdatamodel文件的路径,无法在Xcode中设置。--list-source-files
--orphaned
--versioned
--help
(更新:我还没有在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
pwd
,并检查路径是否与脚本的工作目录相匹配,如果不能立即运行,请检查一下。mogenerator --help
。据我所知,所有命令都可以从脚本步骤中执行。以下是版本1.27的--help输出
mogenerator: Usage [OPTIONS] <argument> [...]
-m, --model MODEL Path to model
-C, --configuration CONFIG Only consider entities included in the named configuration
--base-class CLASS Custom base class
--base-class-import TEXT Imports base class as #import TEXT
--base-class-force CLASS Same as --base-class except will force all entities to have the specified base class. Even if a super entity exists
--includem FILE Generate aggregate include file for .m files for both human and machine generated source files
--includeh FILE Generate aggregate include file for .h files for human generated source files only
--template-path PATH Path to templates (absolute or relative to model path)
--template-group NAME Name of template group
--template-var KEY=VALUE A key-value pair to pass to the template file. There can be many of these.
-O, --output-dir DIR Output directory
-M, --machine-dir DIR Output directory for machine files
-H, --human-dir DIR Output directory for human files
--list-source-files Only list model-related source files
--orphaned Only list files whose entities no longer exist
--version Display version and exit
-h, --help Display this help and exit
Implements generation gap codegen pattern for Core Data.
Inspired by eogenerator.
--template-var KEY=VALUE
--template-var arc=true
--template-var frc=true
--template-var modules=true
PATH=$ {PATH}:/usr/local/bin
添加为脚本的第一行。 - Josh at The Nerdery--template-var arc=true
,这是生成的代码与 ARC 兼容所必需的。 - combinatorial