Mogeneratorのヘルプはごくわずかです。すべてのパラメーターは何をしますか?
コマンドラインユーティリティとXcodeの両方で機能するパラメーター:
--base-class
:「プライベートクラス」(例:_MyObject.h
)が継承する基本クラスの名前。これにより、#import "MyManagedObject.h"
の形式で同じ.h
ファイルにインポートも追加されます。ヒント:継承元のクラスがライブラリーにある場合、デフォルトのインポートステートメントは機能しません。回避策として、作成するプロジェクトごとに余分なレベルの継承を設定し、そのクラスをライブラリから継承することができます(たとえば、基本クラスを手動で作成してMyProjectManagedObject
から継承するMyLibManagedObject
に設定します)。--template-path
:4つの.motemplate
ファイルがある場所へのパス。これが提供されていない場合、すべての「アプリサポートディレクトリ」(例:"/Library/Application Support/mogenerator/"
)を確認します。--template-group
:使用するtemplate-path
ディレクトリの下のサブディレクトリ名。--template-var arc=true
:Required生成されたファイルをコンパイルするには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
(更新:Xcode 3ではXcode 3のみでこれを試していません。Xcode4では、次の手順に従う代わりに、 ビルドフェーズとしてmogeneratorを追加 できます。)
.xcdatamodel
ファイルの情報ページに移動します。xmod
を独自の行のコメントフィールドに追加します。パラメーターを送信するには、独自の行にある必要があります。
これは動作します:
xmod
--base-class CLASS
--template-path PATH
そしてこれでも動作します:
xmod
--base-class CLASS --template-path PATH
しかし、これは機能しません:
xmod --base-class CLASS --template-path PATH
注:設定を有効にするには、情報ウィンドウを閉じる必要があります。
XCode 4の時点では、情報ウィンドウは使用できなくなっているため、上記のように設定できない場合でも心配する必要はありません。
John Blancoのガイド を使用して、コマンドライン引数を直接Mogeneratorに渡すことができるスクリプトターゲットを設定します。彼の例のパスを少し調整する必要があるかもしれないことに注意してください...スクリプトでpwd
を投げ、すぐに実行されない場合はスクリプトの作業ディレクトリに対してパスをチェックします。
利用可能なコマンドライン引数のリストについては、mogenerator --help
ターミナル。 AFAICT、それらはすべてスクリプトのステップから機能します。
ビルドごとにマシンファイルを自動的に再構築する場合は、「事前アクション」を介してmogeneratorを呼び出す別の方法について この回答 を参照してください。ジェネレータースクリプトをVCSに配置するためのヒントもあります。
バージョン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
* .motemplateファイルを開き、「TemplateVar」などの文字列を見つけます。その後、パラメータ名が表示され、その機能を理解できるようになります。
このパラメーターには組み込みのテンプレートがあります
--template-var arc=true
--template-var frc=true
--template-var modules=true