加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – Xcode项目管理:单引擎 – 不同的个性化应用

发布时间:2020-12-14 19:49:29 所属栏目:百科 来源:网络整理
导读:这个想法是我有一个应用程序模板,应该为不同的客户端定制.主要目标是提供一些具有几乎相同功能的个性化应用程序. 为了为每个客户的应用程序实现以下几点,Xcode项目组织(或可能的管理)最好的方法是什么? 为视觉元素设置不同的图像(用于控件,视图,图标等); 少
这个想法是我有一个应用程序模板,应该为不同的客户端定制.主要目标是提供一些具有几乎相同功能的个性化应用程序.

为了为每个客户的应用程序实现以下几点,Xcode项目组织(或可能的管理)最好的方法是什么?

>为视觉元素设置不同的图像(用于控件,视图,图标等);
>少量不同的XIB文件用于小型UI结构修改;
>视觉定制 – 代码级;
>小功能修改;
>可以切换回以前的个性化版本;
>一个功能引擎(例如搜索功能);

目前,对于每个个性化请求,我在同一个项目的根目录中创建新的项目文件,以及相应的XIB文件,图像集和源文件(对于一些功能请求)目录.每个项目文件都有一个主源文件目录(引擎)的引用.

但我认为这不是组织这类项目的最佳方式.

解决方法

创建一个项目模板 – 或者只是一个带有模板的zip文件.

首先,确定您可以使用的位置(例如)xml defs而不是覆盖和其他源级别更改.

Always different images set for visual elements (for controls,views,icons etc);

将占位符资源添加到项目模板

Rarely different XIB files for small UI structure modification

将其添加到项目中,通过vc引用更改(如果已更改)

Visual customizations – code level;

核心图书馆,共享所有项目.考虑使用c或c,如果库将会很大. objc不能被剥离.这包含实现存根,以及通用代码,基类和接口.

Small functional modifications

扩展核心类的接口,以便子类可以轻松实现频繁的更改.这些文件是模板的一部分.

Possibility to switch back to previous personalized versions;

它应该在vc中,并且依赖关系版本也应该被跟踪.

One functional engine (e.g. search functionality);

一个未定义的工厂功能很简单:

id<MONSearchEngineProtocol> MONAppCoreCreateSearchEngine();

在静态库中声明它,但在一个项目特定的源中定义(并实现必要的).你可以添加这个其他的地方 – 有些人会把它放在应用程序控制器中并覆盖它.

如果您有很多这些管理,请考虑将您的资源移动到代码(而不是管理大量的笔尖).一个笔尖定义了很多代码 – 这是很多几乎重复的代码来管理.这对某些资源来说是有意义的,对别人来说并不太有意义.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读