何を作ろうとしていますか?プロジェクトテンプレートまたはファイルテンプレート?
"*.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
ください。
.xctemplate
Xcodeバンドルから対応する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"
そして、テンプレート定義のためのある種の「継承」を持って、ベーステンプレートまでそのように上がることができます。