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".
  • 如果你想创建一个新的项目模板,对一个"*.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文件夹,因为它是它的目的。

将 Xcode 包中的一个.xctemplate文件夹复制到相应的 App Support 文件夹后,您可以修改其中的内容.xctemplate以满足您的需要。


现在,您在 xctemplate 文件夹中没有任何 xcodeproj,这是因为由项目模板创建的项目不是使用 xcodeproj 文件定义的,而是使用TemplateInfo.plist 文件中的键定义的。

例如,"Project Templates/Mac/Mac Base.xctemplate/TemplateInfo.plist"您可以看到一个名为"Project"subkeys "Configurations"、的键"SDK""SharedSettings"它为要由模板创建的 xcodeproj 定义了一些构建设置。

此外,请注意模板具有某种“继承”概念,每个模板都能够具有定义公共键的“祖先”:

  • 打开"TemplateInfo.plist"文件并查看"ancestors"密钥
  • 您将在此处找到所选模板的祖先的标识符数组。例如,"Cocoa Application.xctemplate"模板"com.apple.dt.unit.cocoaApplicationBase"作为其祖先之一。
  • 然后去找到模板,其标识符是在祖先键中找到的那个(在我的例子中,它就是"Cocoa Application Base.xctemplate"模板,在它的中TemplateInfo.plist你可以看到它的"Identifier"键是"com.apple.dt.unit.cocoaApplicationBase"我们上面看到的)。

而且您可以像这样向上直到基本模板,对模板定义具有某种“继承”。

于 2012-09-16T16:07:36.920 回答