【问题标题】:How to create project templates in Xcode 4如何在 Xcode 4 中创建项目模板
【发布时间】:2013-03-07 16:12:00
【问题描述】:

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

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

【问题讨论】:

    标签: iphone ios xcode templates xcode4.5


    【解决方案1】:

    我花了几个小时在网上搜索有关这样做的信息。为 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。如果模板/应用程序/项目模板不存在,您也应该创建它。感谢下面 cmets 中的 seufagner 进行更新,尽管我自己没有尝试过。 [/编辑]

    1. 复制(不要剪切/粘贴!)列出的模板之一。
    2. 打开另一个查找器窗口并导航到以下目录(要取消隐藏您的库文件夹,在终端中键入此 cmd:chflags nohidden ~/Library/ 或在单击 Finder/Go 时选择按 alt/option 键)/Library/Developer /Xcode/Templates(如果还没有,您可能需要创建此文件夹)/Project Templates/
    3. 在此处创建一个文件夹。随便称呼它,建议是您的公司名称。此名称出现在 Xcode 中新项目对话框的左侧菜单中。例如在我称之为我的Appscore的附图中,cocoas2d还有另一个。
    4. 在此处粘贴项目模板并将其文件夹名称更改为您想要的任何名称,例如MySuperProjectTemplate.xc 模板。我们还没有完成,因为我们需要更改模板的标识符。否则不会出现在 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”的键,该键具有一组值。添加以下两行:

      _VARIABLE_classPrefix:identifier_.h_VARIABLE_classPrefix:identifier_.m

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

    ___VARIABLE_classPrefix:identifier___BaseViewController.h___VARIABLE_classPrefix:identifier___BaseViewController.m

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

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

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

    【讨论】:

    • 我同意 Foram。这个关于如何创建自己的自定义项目的解释很棒。
    • 有没有办法添加静态库?
    • @PhongLe 我不这么认为,但我还没有真正研究过,所以希望我被证明是错的 :)
    • 嘿,真的很好的答案,但我怀疑我是否创建了一个模板,它是否包含几个模块,如 1) 与数据库相关的 2) 与网络相关的等等……现在在我的应用程序中,如果我只想要一个模块示例数据库相关代码。是否有可能通过使用模板,用户可以选择所需的模块..而不是特定模板中的每个(不同的文件)。
    • 非常感谢,请 Apple 阅读上面的这篇文章,看看制作新模板是多么痛苦。改变这个! (P.S. 当然我发送了一个错误报告)
    【解决方案2】:

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

    /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 MainGitHubAcani 的另一个示例模板也很少。还有 AFNetworking 模板,由 Mattt Thompson 创建。查看所有示例,包括 Apple 构建的示例,然后您可以开始创建自己的示例。

    【讨论】:

    • 感谢乐高乐高的评论! Mattt Thompson 所做的任何事情都质量上乘,所以我会检查他的模板!
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      @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>
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多