35

由于大多数信息都与 Xcode 3 相关,因此很难找到教程来完成此操作。下面的答案可能会对某些人有所帮助。

我从以下网站获取了大部分信息以获取以下答案:

4

4 回答 4

74

我花了几个小时在网上搜索有关执行此操作的信息。为 Xcode4.5 设置项目模板实际上并不难,但很难在网络上找到将它们组合在一起的信息!希望以下步骤将帮助您创建自己的。

配置

  1. 让我们首先获取现有 Xcode 项目模板的副本以用作基础。打开 finder,转到 Applications 并右键单击 Xcode 以显示包内容。导航到 Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/

[编辑] 在 Xcode 5 中,PATH 如下:~/Library/Developer/Xcode/Templates/Application/Project Templates。如果模板/应用程序/项目模板不存在,您也应该创建它。尽管我自己没有尝试过,但在下面的评论中感谢 seufagner 的更新。[/编辑]

  1. 复制(不要剪切/粘贴!)列出的模板之一。
  2. 打开另一个查找器窗口并导航到以下目录(要取消隐藏您的库文件夹,在终端中键入此 cmd:chflags nohidden ~/Library/ 或在单击 Finder/Go 时选择按 alt/option 键)/Library/Developer/Xcode/模板(如果尚未存在,您可能需要创建此文件夹)/Project Templates/
  3. 在这里创建一个文件夹。随便称呼它,建议是您的公司名称。此名称出现在 Xcode 中新项目对话框的左侧菜单中。例如,在我称之为我的Appscore 的附加图像中,cocoas2d 还有另一个。 在此处输入图像描述
  4. 将项目模板粘贴到此处并将其文件夹名称更改为您希望的任何名称,例如 MySuperProjectTemplate.xctemplate。我们还没有完成,因为我们需要更改模板的标识符。否则它不会出现在 Xcode 新项目对话窗口中。
  5. 在 TextEdit 中打开 TemplateInfo.plist 文件。搜索标识符键。您应该会看到类似于“com.apple.dt.unit.XXXXXX”的字符串值。只要它是独一无二的,就可以用你想要的任何东西替换它。我再次建议添加您的公司名称和描述模板的名称。
  6. 如果您现在打开 Xcode,您应该会在新项目对话框中看到项目模板出现在您的公司名称下。

定制

目前,您拥有一个不是很有用的现有项目模板的副本。我猜你有很多类可以在几乎所有项目中重用?我们如何将它们包含在此模板中?

  1. 复制您想要的文件,并将它们粘贴到您的新项目模板中,即导航到 /Library/Developer/Xcode/Templates/Project Templates//MySuperProjectTemplate.xctemplate/
  2. 再次在 TextEdit 中打开 TemplateInfo.plist 文件。我们要做的第一件事是告诉项目模板包含新文件,因此搜索一个名为“Nodes”的键,该键具有一组值。添加以下两行:

    <string> _VARIABLE_classPrefix:identifier_.h </string> <string> _VARIABLE_classPrefix:identifier_.m </string>

例如,如果您的控制器被称为 BaseViewController 行将如下所示:

<string>___VARIABLE_classPrefix:identifier___BaseViewController.h</string> <string>___VARIABLE_classPrefix:identifier___BaseViewController.m</string>

第2步

  1. 接下来找到 Definitions 键,你应该看到一个字典作为它的值。在这里,我们必须添加对包含文件的引用。创建一个新键并将其命名为 ___VARIABLE_classPrefix:identifier___BaseViewController.h(再次以 BaseViewController 为例)。

第 3 步

  1. 这个键的值又是一个字典。它包含一个名为 Path 的键和一个字符串值,它是文件的名称,例如 BaseViewController.h
  2. 我附上了以下图片来说明我的意思,因为我认为我的描述不够。您可能会注意到其中有一个名为“Group”的键,您可以猜到它允许您直接创建组和输入文件:D

希望这对某人实际上有用:) 任何问题在下面发表评论,我会尽力回答。几周前我这样做了,所以我的记忆有点模糊。

于 2013-03-19T05:03:37.697 回答
5

您还可以从检查现有项目模板中学到很多东西,您可以在以下位置找到:

/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/

对于Mac

/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/

对于iOS

Reid MainGitHub和Acani的另一个示例模板也很少。还有由Mattt Thompson创建的AFNetworking模板。查看所有示例,包括 Apple 构建的示例,然后您可以开始创建自己的示例。

于 2014-03-27T08:45:23.013 回答
4

可以在这里找到 plist 文件中使用的所有变量的一个很好的概述:https ://gist.github.com/shazron/943736

于 2013-10-29T04:31:30.530 回答
1

@bennythemink 您的回答确实很有帮助,但我想在您的回答中添加更多内容。当我们复制 xcode 预定义模板时,此键包含

<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.storyboardApplication</string>
</array>

这个值。当我们在 xcode 的自定义模板中使用这个键值时,它会默认创建 AppDelegate 类。我们不能移动到文件夹,只有我们可以将它移动到组中。所以我建议添加这个:

<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.objectiveCApplication</string>
<string>com.apple.dt.unit.iPhoneBase</string>
<string>com.apple.dt.unit.prefixable</string>
</array>

自定义模板中的值,以便我们将拥有完全空的模板,我们可以在其中执行任何自定义内容。

于 2014-01-09T05:05:35.953 回答