何を作ろうとしていますか?プロジェクトテンプレートまたはファイルテンプレート?
"*.xctemplate"新しいファイルテンプレートを作成する場合は、フォルダ全体を"/Xcode/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates"(例/開始点として使用する)からにコピーする必要があります"~/Library/Application Support/Developer/Shared/Xcode/File Templates"。
- 新しいプロジェクトテンプレートを作成する場合は、から1つのフォルダで同じことを行います
"*.xctemplate"。"/Xcode/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates""~/Library/Application Support/Developer/Shared/Xcode/Project Templates"
"File Templates"/"Project Templates"フォルダーがアプリサポートに存在しない場合は、それらを作成します。
テンプレートをXcodeバンドル自体にコピーすることは意図されていないため(サンドボックスの概念に違反し、次にXcodeバージョンをアップグレードするときに上書きされます)、その目的のためにフォルダーを使用してApplication Supportください。
.xctemplateXcodeバンドルから対応するAppSupportフォルダーに1つのフォルダーをコピーしたら.xctemplate、ニーズに合わせてのコンテンツを変更できます。
xctemplateフォルダーにxcodeprojがないという事実のために、これは、プロジェクトテンプレートによって作成されたプロジェクトがxcodeprojファイルを使用して定義されているのではなく、TemplateInfo.plistファイルのキーを使用して定義されているためです。
たとえば、には、サブキー、、で名前が"Project Templates/Mac/Mac Base.xctemplate/TemplateInfo.plist"付けられたキーが表示されます。これは、テンプレートによって作成されるxcodeprojのビルド設定を定義します。"Project""Configurations""SDK""SharedSettings"
さらに、テンプレートにはある種の「継承」の概念があり、各テンプレートには共通のキーを定義する「祖先」を含めることができることに注意してください。
"TemplateInfo.plist"ファイルを開き、"ancestors"キーを確認します
- ここに、選択したテンプレートの祖先の識別子の配列があります。たとえば、
"Cocoa Application.xctemplate"テンプレートは"com.apple.dt.unit.cocoaApplicationBase"その祖先の1つとして持っています。
- 次に、先祖のキーで見つかったものを識別子とするテンプレートを見つけます(私の例では、そのキーが上記で見たものであることがわかる
"Cocoa Application Base.xctemplate"ように、テンプレートです)。TemplateInfo.plist"Identifier""com.apple.dt.unit.cocoaApplicationBase"
そして、テンプレート定義のためのある種の「継承」を持って、ベーステンプレートまでそのように上がることができます。