如何将 Xcode 项目类型从 Cocoa 框架转换为 Cocoa 应用程序?

发布于 2024-11-08 23:47:47 字数 44 浏览 0 评论 0原文

请告诉我什么是最有效的方法?我需要至少保存编译器/链接器设置和源文件结构。

Please tell me what is the most efficient way? I need to save at least compiler / linker settings and source files structure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧情别恋 2024-11-15 23:47:47

我至少需要保存编译器/链接器设置

执行此操作的简单方法是将设置从目标/项目设置移动到 xcconfig 文件。然后,xcconfig 文件可以(重新)用于定义多个目标和/或项目的构建设置。为此:

  • 为每个层、目标以及已定义设置的每个配置(例如 Project_Debug、Project_Release、Target_Debug、Target_Release)创建一个新的 xcconfig 文件,并对每个层/组合执行以下步骤:

    • 打开项目的构建配置设置窗格
    • 指定一项配置。
    • 隐藏未在该级别定义的设置。在 Xcode 3 中,这意味着您只希望粗体设置可见。
    • 选择所有可见设置
    • dragon 将选择内容拖放到相应的 xcconfig 文件
    • 将 xcconfig 文件分配给您从中获取的配置/层
  • 将 xcconfig 文件分配给您从
    • 最后,删除构建设置窗格中刚刚复制到 xcconfig 的所有定义
  • 重复直到所有设置都已导出到单独/适当的 xcconfig

,以使生活更轻松,您可以#include将一个 xcconfig 插入另一个 xcconfig。

由于应用程序与框架不同,因此您将需要更改、删除一些设置或移回框架目标。

现在,不应在目标或项目级别中定义任何内容(除了特定于框架的内容),并且您可以轻松地将同一组构建设置应用于任何目标。

和源文件结构...

这里最简单的方法是:

  • 在您的项目中创建一个新目标(是的 - 应用程序品种)。

  • 对于框架中的每个构建阶段:

    • 验证应用具有类似的构建阶段(例如编译源代码或复制资源)
    • 选择框架构建阶段的所有项目
    • 获取信息
    • 通过选中信息面板中应用程序目标的框,将引用添加到应用程序目标的相应构建阶段(此方法假设引用已添加到引用类型的默认阶段,您可能有一点如果您的参考->目标相位关系偏离默认值,则在此阶段需要进行额外的排序)
  • 重复
  • 添加您的主条目
  • 构建并手动整理其余部分

您可能需要首先克隆 Xcode 项目(就像使用 git 复制一样简单) )——并且一定要确保您的项目/源代码位于 scm 下。

如果您不想并行维护它们,则将其全部移至静态库,然后将每个目标链接到静态库。

祝你好运!

(这个问题最初是关于 Xcode 3 提出的 - Xcode 4 中会存在一些差异。Xcode 2 中的过程应该是相同的)

I need to save at least compiler / linker settings

the easy way to do this is to move the settings from the target/project settings to an xcconfig file. the xcconfig file may then be (re)used to define the build settings for multiple targets and/or projects. to do this:

  • create a new xcconfig file for each tier, target, and each configuration where you have defined settings (e.g. Project_Debug, Project_Release, Target_Debug, Target_Release), and follow these steps for each tier/combination:

    • open the build configuration settings pane for the project
    • specify one configuration.
    • hide the settings which are not defined at that level. in Xcode 3, that means you only want the bold settings to be visible.
    • select all visible settings
    • dragon drop (sic) the selection to the appropriate xcconfig file
    • assign the xcconfig file to the configuration/tier you took it from
    • finally, delete all the definitions in the build settings pane which you just copied to the xcconfig
  • repeat until all settings have been exported to separate/appropriate xcconfigs

to make life easier, you may #include one xcconfig into another xcconfig.

since an app is different from a framework, you'll have a few settings to change, delete, or move back to the framework target.

now nothing should be defined in the target or project levels (apart from your framework specific stuff), and you may easily apply the same set of build settings to any target.

and source files structure...

the easiest way here is to:

  • create a new target in your project (yup - of the app variety).

  • for each build phase in the framework:

    • verify the app has a similar build phase (e.g. compile sources, or copy resources)
    • select all the items in the framework's build phase
    • get info
    • add the references to the corresponding build phase of the app target by checking the box for the app target in the info panel (this approach assumes the references are added to the default phase for the type of reference, you may have a little extra ordering to do at this stage if your reference->target phase relations deviate from the defaults)
  • repeat
  • add your main entry
  • build and sort out the rest manually

you may want to clone the Xcode project first (as easy as duplication with git) -- and definitely make sure you have your project/sources under scm.

if you'd rather not maintain these in parallel, then move it all over to a static library, then just link each target to the static lib.

gooood luck!

(the question was initially asked regarding Xcode 3 - some differences will exist in Xcode 4. the process should be the same in Xcode 2)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文