虽然在XCode 3中有很多文档和示例用于创建模板,但将它们转换为XCode4模板却是一场噩梦......
首先,我发现了这一点:
但他们都没有回答这个样本问题:
如何创建文件夹内幕其他文件夹?
例如,如果您想在组中包含文件,则应编写:
<key>Definitions</key>
<dict>
<key>File1.h</key>
<dict>
<key>Group</key>
<string>Group1</string>
<key>Path</key>
<string>File1.h</string>
<key>TargetIndices</key>
<array/>
</dict>
<key>File1.m</key>
<dict>
<key>Group</key>
<string>Group1</string>
<key>Path</key>
<string>File1.m</string>
</dict>
</dict>
<key>Nodes</key>
<array>
<string>File1.h</string>
<string>File1.m</string>
</array>
但是你如何在Group2中使用Group1。
我尝试了很多东西,与祖先玩耍,但除了一切都没有用之外。 任何建议或任何文档(我在这些XCode模板上找不到任何文档)都将不胜感激。
答案 0 :(得分:18)
我已多次尝试修改TemplateInfo.plist
,我也尝试制作一个子组并将文件放入其中。最后我找到了解决方案:
定义部分:
<key>Definitions</key>
<dict>
<key>main.h</key>
<dict>
<key>Path</key>
<string>main.h</string>
<key>Group</key>
<array>
<string>parent</string>
<string>child</string>
</array>
</dict>
</dict>
在节点部分:
<key>Nodes</key>
<array>
<string>main.h</string>
</array>
上面的代码将创建父组和子组。并且main.h在孩子身上
Project
--parent
---child
----main.h
答案 1 :(得分:1)
我也一直在努力解决这个问题。 作为一种解决方法,我在TemplateInfo.plist位置创建并添加了一个文件夹(在您的情况下应该是名为Group1的文件夹)。文件夹布局(子文件夹和文件)与我希望它们在我的项目源树中相同(例如文件夹'Group1'有子文件夹'Group2',文件夹'Group2'有文件File1.h和File1.m等)。 然后我只需在我的TemplateInfo.plist文件中添加根文件夹(Group1),方法是在“定义”部分中定义它,然后将其添加到“节点”部分,如下所示:
<key>Definitions</key>
<dict>
<key>Group1/</key>
<dict>
<key>Path</key>
<string>Group1/</string>
<key>TargetIndices</key>
<array/>
</dict>
<key>Nodes</key>
<array>
<string>Group1</string>
</array>
答案 2 :(得分:1)
对于任何需要帮助的人,这是在 Xcode 12.4 上,这是一个项目模板。
<key>Nodes</key>
<array>
<string>ViewController.swift:comments</string>
<string>ViewController.swift:imports:importCocoa</string>
<string>ViewController.swift:implementation(___FILEBASENAME___: UIViewController)</string>
<string>ViewController.swift:implementation:methods:viewDidLoad(override func viewDidLoad(\))</string>
<string>ViewController.swift:implementation:methods:viewDidLoad:super</string>
<string>Info.plist:UIMainStoryboardFile</string>
<string>Info.plist:UIApplicationSceneManifest:UISceneStoryboardFile</string>
<string>Base.lproj/Main.storyboard</string>
<string>Some/MainCoordinator.swift</string>
<string>Some/Other/TestClass.swift</string>
</array>
<key>Definitions</key>
<dict>
<key>Base.lproj/Main.storyboard</key>
<dict>
<key>Path</key>
<string>Main.storyboard</string>
<key>SortOrder</key>
<integer>98</integer>
</dict>
<key>Info.plist:UIMainStoryboardFile</key>
<string><key>UIMainStoryboardFile</key>
<string>Main</string>
</string>
<key>Some/MainCoordinator.swift</key>
<dict>
<key>Group</key>
<array>
<string>Some</string>
</array>
<key>Path</key>
<string>MainCoordinator.swift</string>
</dict>
<key>Some/Other/TestClass.swift</key>
<dict>
<key>Group</key>
<array>
<string>Some</string>
<string>Other</string>
</array>
<key>Path</key>
<string>TestClass.swift</string>
</dict>
</dict>