【问题标题】:How do you create a basic TemplateInfo.plist file with Ancestors and specific frameworks?如何使用祖先和特定框架创建基本 TemplateInfo.plist 文件?
【发布时间】:2014-06-14 23:59:13
【问题描述】:

每当我创建一个新项目时,我都会添加我自己的类文件——通常是相同的。一遍又一遍地手动创建这些变得乏味。我想要一种自动的方式来做到这一点。我发现了自定义项目模板,但我不确定 Apple 是否对它们进行了详细记录。

我可以用我的自定义类创建一个 cocos2D 项目,它的效果非常好。问题是当我使用自定义类创建一个基本的空应用程序时。

基本上没关系,我会提供一些背景信息。请参阅我的 TemplateInfo.plist: 这有效。注意“祖先”部分。我是这样解释的:它继承自 cocos2d 模板并执行以下操作:

  1. 添加必要的框架
  2. 添加 cocos2D 的东西,比如启动画面
  3. 其他项目特定的事情

现在我不知道这些祖先模板在哪里或它们的格式,所以我还不能分解个别的东西并说“好的,我想要它们包含的框架,但是不是发射图像,”但这本质上就是我想做的。我想从最基本的模板开始,然后从那里手动构建。

我发现我可以在“目标”区域添加特定框架。但在解决这个问题之前,我有一个问题:我使用什么祖先,所以它不使用 Cocos2D 基本模板?我想要最基本的东西。

1) 尝试删除所有祖先并创建一个新项目,Xcode 不会让您命名该项目并且它会崩溃。

2) 尝试仅包含默认空应用程序的祖先:com.apple.dt.unit.cocoaTouchApplication

它添加了正确的框架:

  • 基础
  • CoreGraphics
  • UIKit
  • XCTest

    这很酷。但是我注意到它用 [Project-Name]-Prefix.pch 覆盖了我的 Prefix.pch 并且我的项目无法编译,因为我在我的自定义 Prefix.ch 中包含了一个 Debug Logger 语句,如下所示:

    #ifdef DEBUG
    #define DLog(...) NSLog(__VA_ARGS__)
    

    我认为这是“com.apple.dt.unit.cocoaTouchApplication”的祖先在做它的事情,我想要不同的自定义行为。

是否有祖先列表可以查看?或者有没有办法可以查看“com.apple.dt.unit.cocoaTouchApplication”中定义的特定设置(如果这有意义的话)?

有其他人遇到过这种情况吗?您使用什么技术?有没有人希望有一种更简单的方法来做到这一点?还是每次手动创建文件更好?

我正在旋转车轮,任何见解都会有所帮助。谢谢。

【问题讨论】:

    标签: xcode templates frameworks plist customization


    【解决方案1】:

    我想通了。搜索 Xcode 的默认模板,我找到了一个使用基本祖先的模板。我用了以下两个:

    在 Targets 中,您可以轻松添加要包含的框架:

    有许多小怪癖,例如如何包含 Info.plist 文件和 Prefix.pch 文件以及如何正确重命名(并替换模板放置的默认名称)。我正在制作一个视频教程来详细展示所有这些内容。

    创建自己的自定义模板非常令人满意。在开始新项目时节省大量时间和麻烦。

    【讨论】:

      猜你喜欢
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多