2

カスタム コード テンプレートを Xcode に追加しようとしています。私の読書に基づいて、これが私が思いついた手順です。

まず、フォルダーパスにアクセスします

アプリケーション/Xcode45-DP3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application

次に、開始点として使用する既存のフォルダーのいずれかのコピーを作成します。

第三に、そのフォルダ名を希望する名前に変更します。

私が問題を抱えている部分は、PROJECTNAME .xcodeproj、anyfilename.h、anyfilename.h など、変更したいコードを含むファイルがなく、MainStoryBoard_iPad(および iPhone) しかないことです。ストーリーボード、ViewcontrolleriPad(および iPhone).Xib、TemplateIcon.tiff、および TemplateInfo.plist。

これを行う適切な方法は何ですか?私は何が欠けていますか?

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

4

何を作ろうとしていますか?プロジェクトテンプレートまたはファイルテンプレート?

  • "*.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"

そして、テンプレート定義のためのある種の「継承」を持って、ベーステンプレートまでそのように上がることができます。

于 2012-09-16T16:07:36.920 に答える