前段时间我创建了Android应用。然后我需要创建非常相似的应用程序(功能方面)与一些装饰,品牌和小规模的功能更改。我将原始应用程序重构为库项目,创建了一个使用此库项目并重新创建原始功能的应用程序。然后我创建了一个使用相同库项目的新应用程序,并且还实现了第二个应用程序所需的小规模更改。这非常好。现在,如果需要进行更改,则可以在多个应用程序中实现更改:我只需更改库项目并重新编译所有应用程序。
我还有适用于iOS的原始应用程序 - 并且需要为iOS提供第二个应用程序。当然,我可以复制项目,进行更改并创建其他应用程序。但是,如果我需要更改核心功能中的某些内容,这将意味着双重工作。我希望能够像Android一样重构iOS项目/应用程序,但不确定如何去做 - 或者甚至可以使用这样的功能。任何建议都非常感谢。
答案 0 :(得分:1)
您可以使用不同的目标创建单个项目。
然后,您将拥有目标A和B,以及所有目标通用的CoreFile文件。
假设你有一些稍微不同的HomeViewController。
您可以创建单个界面HomeViewController.h
和两个实施AHomeViewController
和BHomeViewController
,两者都展开BaseViewController
。
然后打开AHomeViewController,在'Target Membership'的FileInspector上只标记目标A.在BHomeViewController上你也这样做。图1说明了你必须做的事情(名称与示例不同,因为它是我的一个项目中的一个真实示例)。
如果由于某种原因你需要知道你使用的目标是什么,你可以使用Target上的预处理器宏来定义它 - >构建设置。如图2所示。
然后您可以使用#ifdef APP_CB
来检查当前目标。