【问题标题】:"Library projects" in iOSiOS 中的“库项目”
【发布时间】:2013-12-09 15:55:54
【问题描述】:

前段时间我创建了 Android 应用程序。然后我需要创建非常相似的应用程序(功能方面),并进行一些外观、品牌和小规模的功能更改。我将原始应用程序重构为库项目,创建了一个使用该库项目的应用程序并重新创建了原始功能。然后我创建了一个使用相同库项目的新应用程序,并实现了第二个应用程序所需的小规模更改。这工作得很好。现在,如果需要更改,很容易在多个应用程序中实现它:我只需更改库项目并重新编译所有应用程序。

我还拥有可用于 iOS 的原始应用程序 - 并且需要使第二个应用程序可用于 iOS。我自然可以复制项目,进行更改并创建另一个应用程序。但是,如果我需要更改核心功能中的某些内容,这将意味着双重工作。我希望能够像 Android 一样重构 iOS 项目/应用程序,但不知道如何去做——或者这种功能是否可用。任何建议都非常感谢。

【问题讨论】:

    标签: android ios library-project


    【解决方案1】:

    您可以创建具有不同目标的单个项目。

    然后,您将拥有目标 A 和 B,以及所有目标通用的 CoreFile 文件。

    假设您的 HomeViewController 略有不同。 您可以创建单个接口HomeViewController.h 和两个实现AHomeViewControllerBHomeViewController,都扩展BaseViewController

    然后打开 AHomeViewController,并在 FileInspector 上的“目标成员资格”标记仅目标 A。在 BHomeViewController 上你也这样做。图 1,说明您必须做什么(名称与示例不同,因为它是我的一个项目中的一个真实示例)。

    如果出于某种原因您需要知道您使用的目标是什么,您可以使用 Target -> Build Settings 上的预处理器宏来定义它。如图 2 所示。

    然后就可以使用#ifdef APP_CB查看当前目标了。

    【讨论】:

    • 我知道的就这么多了。请详细说明我如何在不同的目标中拥有不同的功能。
    • 现在看看,如果您还有其他问题,请告诉我
    猜你喜欢
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2013-08-14
    • 2015-11-02
    • 2013-05-04
    • 2011-07-20
    相关资源
    最近更新 更多