将现有项目转换为可定制的框架

时间:2018-07-11 12:14:16

标签: ios swift xcode xcode9.4

我是一名Android开发人员,需要创建IOS应用程序。所以我做到了,现在应用已经准备就绪。但是现在我想使其成为库/框架。我的意思是每个客户端的不同项目中将使用相同的代码库,并且他们将能够更改应用程序的文本字符串和颜色。其余业务逻辑将保持不变。

  

所以我有两个主要问题:

  • 如何将项目转换为框架?我是否需要在其他地方创建单独的框架,然后将项目作为Coca touch框架导入其中?我说的对吗?
  • 如何使其可定制?我从Customizable的意思是简单的两件事。
    • 1)视图的颜色。我有两个观点。我想要一个单独的颜色文件,以便可以更改颜色并反映整个应用程序中的更改
    • 2)字符串。我想更改文本字符串,以便可以在所有项目中进行更改。

请告诉我如何实现这些目标。特别要注意的是第二点。

  

注意:我要在框架中转换的项目有两个很多viewControllers,它们都建在一个故事板上。

2 个答案:

答案 0 :(得分:3)

关于如何创建框架,这是我的操作方式:

  1. 创建工作空间: enter image description here

  2. 通过从Finder中将您想要变成一个库的项目拖入该工作区中(确保在执行此操作时,该项目未在XCode中打开)。我们将该项目称为FrameworkProj:

  3. 为Cocoa Touch Framework类型的FrameworkProj创建目标: CocoaTouchFramework

  4. 创建另一个项目,我们将其称为SampleProjWhichUsesFramework,并将框架导入其中。

关于您可以通过框架设置IB元素的问题,只需确保具有标记为公共的那些元素的IBOutlet,它们就可以作为SampleProjWhichUsesFramework用作框架的属性。

答案 1 :(得分:2)

我认为您对IOS xcode中的工作区没有很好的了解。由于在Android中,工作空间是以其他方式处理的。但是有一点区别。

让我简单介绍一下Android,以及如何制作Library并在Android Studio中添加几个项目。假设您在Android App中有一个项目,假设它为App1,现在可以转到菜单,然后可以将另一个模块添加为Library。这对您来说很好而又容易。  现在,您可以创建另一个类似的项目,转到新菜单,在这里您可以选择New Module,然后从模板中选择Phone and Table Module。让我们称之为App2。

您可以在同一个项目中添加尽可能多的项目/应用程序(在IOS中您可以想到一个工作区),最后,您要做的就是将您的库项目作为模块依赖项添加到All App1,App2中您创建的项目。

因此在IOS中,您首先创建的工作区。然后您在其中创建App1和App2。在同一项目级别(相同目录)中添加库(IOS中的私有框架),然后可以将库的依赖项添加到其他App1,App2等创建的其他项目中。

这样,您的代码库对于其他人将保持不变。

您可以找到整个教程here。这是我发现的最好的尝试一下。