【问题标题】:How to reuse an Xcode project into a new project? Static library, Framework, Targets?如何将 Xcode 项目重用到新项目中?静态库、框架、目标?
【发布时间】:2015-05-07 23:34:18
【问题描述】:

我构建了一个 100% 功能性的 iOS 项目(实际上是工作区,因为 Pods),它的逻辑和 UI(故事板和 xibs)。现在我想重用这个应用程序/项目作为未来应用程序的“核心”。

我一直在搜索它,并且有几种解决方案,例如静态库、框架和目标。但我不确定哪一个对我来说是最好的。我也想重用所有 UI 部分。

我看到大多数人都同意重用代码的最佳方法是静态库,即使它看起来并不那么简单。但我认为对于重用 UI,Targets 可能是最好的解决方案。我看到的问题是,如果基于我的核心项目构建 10 个应用程序,那么新项目将是巨大的,所以它可能不是最佳选择。

不知道大家有没有更好的想法或意见。

提前致谢!!

【问题讨论】:

    标签: ios objective-c iphone xcode code-reuse


    【解决方案1】:

    有几件事你可以做,我会尝试完成它们。

    如果您对“基础”应用程序进行了细微更改,那么最好的办法是使用目标(构建方案)。通过这种方式,您可以将内容添加到构建阶段,从而添加您需要的文件。这可能是做你想做的最快的方法,但这里有一些缺点:如果你有 5 个应用程序,并且每个应用程序都有 QA 和 prod。那 10 个构建阶段。如果您继续使用您的应用程序,您会发现很难管理它。

    另一件事可能是创建不同的项目,并包含您拥有(和您需要)的所有文件,从那里继承并具有扩展功能/UI/UX。这种方法比 1 号要慢,但是您将依赖于您可能在一个应用程序中更改的文件,并且不希望在其他应用程序中传播该更改。所以缺点是你必须格外小心,并且提前计划很多事情。

    第三件事可能是创建基础应用程序组(或项目),然后您确定要做什么、在哪里以及该更改会对其他应用程序造成什么影响(因为您知道该文件实际上正在被重用)。

    最后,有一个框架,这是我最喜欢的。我正在开发一个继承基础应用程序的项目,我们发现这是一个大问题。您开始分开,然后一件一件地为特定应用程序和基础应用程序(例如口袋里的耳机)纠缠在一起。如果你不尽快重构它,解决这类问题将变得非常困难。更不用说合并和其他东西了。这是一篇关于创建框架http://www.raywenderlich.com/65964/create-a-framework-for-ios 的优秀文章。当然,这是要付出代价的,这就是您创建的每一个更改都必须更新库并将其再次添加到项目中。这件事很容易被遗忘,如果您在团队中工作,可能会导致构建崩溃。

    毕竟,您预测您将拥有超过 5 个应用程序,所以我会说使用框架。这样,您将拥有更加干净和独立的应用程序,并且不必考虑更改内容以及这些更改将如何影响您的其他应用程序。

    【讨论】:

    • 谢谢尼克!由于您已经在使用它并且您推荐它,所以我将使用框架。
    • @RubenX 你最终选择了框架吗?我将通过与您相同的过程。很想听听你的想法:)
    【解决方案2】:

    我建议您使用自定义项目模板。我今天做得很完美。我和你有同样的需求。请点击此链接:https://github.com/reidmain/Xcode-6-Project-Templates/tree/master/iOS%20Application.xctemplate 下载它。您可以将现有项目中的所有文件添加到此模板中,也可以添加故事板。如果您有任何疑问,我会帮助您。

    【讨论】:

      猜你喜欢
      • 2016-01-10
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 2014-04-23
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多