如何在Xcode 4中创建项目模板

时间:2013-03-19 05:03:38

标签: iphone ios xcode templates xcode4.5

很难找到这样做的教程,因为大多数信息与Xcode 3有关。下面的答案可能对某些人有帮助。

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

4 个答案:

答案 0 :(得分:75)

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

设置

  1. 让我们首先获取现有Xcode项目模板的副本以用作基础。打开Finder,转到Applications并右键单击Xco​​de以显示包内容。导航到Contents / Developer / Platforms / iPhoneOS.platform / Developer / Library / Xcode / Templates / Project Templates / Application /
  2. [编辑] 在Xcode 5中,PATH如下:〜/ Library / Developer / Xcode / Templates / Application / Project Templates。如果模板/应用程序/项目模板不存在,您也应该创建它。感谢seufagner在下面的评论中更新,尽管我自己没有尝试过。 [/编辑]

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

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

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

        &LT;串GT;的 _VARIABLE_classPrefix:标识符_ 的.h&LT; /串GT; &LT;串GT;的 _VARIABLE_classPrefix:标识符_ 的.m&LT; /串GT;

      3. 例如,如果您的控制器被称为BaseViewController,则行看起来像:

          

        &LT;串GT; ___ VARIABLE_classPrefix:标识符___ BaseViewController.h&LT; /串GT; &LT;串GT; ___ VARIABLE_classPrefix:标识符___ BaseViewController.m&LT; /串GT;

        Step 2

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

          1. 此键的值也是字典。它包含一个名为Path的键和一个字符串值,它是文件的名称,例如BaseViewController.h
          2. 我附上了下面的图片,以显示我的意思,因为我认为我的描述不尽如人意。您可能会注意到有一个名为“Group”的键,这可以让您直接创建组和输入文件:D
          3. 希望这对某人有用:)任何问题都在下面评论,我会尽力回答。几个星期前我这样做了,所以我的记忆有点朦胧。

答案 1 :(得分: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 Main GitHub Acani 的另一个示例模板也很少。还有 AFNetworking 模板,由 Mattt Thompson 创建。查看所有示例,包括Apple构建的示例,然后您就可以开始创建自己的示例。

答案 2 :(得分:4)

可以在此处找到plist文件中使用的所有变量的完整概述:https://gist.github.com/shazron/943736

答案 3 :(得分: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>

自定义模板中的值,这样我们就可以使用完全空的模板,我们可以在其中执行任何自定义操作。