2

我有将连接到不同服务器的应用程序。每台服务器都像不同的客户端,我希望我的应用程序看起来不同(尽我所能),具体取决于它连接到的服务器。我认为我可以有一个 ZIP,在握手时将从目标服务器返回并使用其中的详细信息,例如图像、设置等。

有没有可能,如果可以,限制是多少?

编辑 我正在考虑用于徽标等的图像以及一些颜色列表,然后我可以将其用于回退到默认值。

4

4 回答 4

2

您可以从客户端服务器下载所有资源(图像、字符串文件、NIB、故事板...)。

此外,还有几个使用类 CSS 机制专门为动态设计开发的项目:

还有一些项目可以运行 Javascript。这可能允许您自定义一些业务逻辑。

所以,是的。这是可能的,但你会发现一些限制,比如根视图控制器、应用程序委托等。你必须要有创意。

我从来没有做过类似的事情,所以我可以提供任何进一步的帮助。

于 2014-05-30T11:49:14.307 回答
2

应用程序的几乎所有元素都是可能的,除了:

  1. 应用名称
  2. 应用程序图标
  3. 应用程序启动画面

这 3 个项目捆绑到应用程序中,不能在运行时更改。其余项目具有所谓的外观选择器,可用于实现动态品牌。

于 2014-05-30T11:33:31.953 回答
1

这绝对是可能的,因为我自己也开发过这样的应用程序。我们基本上按照您描述的方式进行了操作。启动时,用户选择要连接的服务器,然后我们下载一个包含该客户端所有资产的 zip 文件。下载后,UI 会加载自定义图像。您可以自定义系统允许您使用的任何 UI 元素,这几乎是所有内容,除了像系统状态栏这样的小细节。您将需要一些帮助类来让您的生活更轻松,并支持诸如[UIButton themedButtonWithImage:].

于 2014-05-30T11:37:09.787 回答
0

好吧,这是可能的——在一个极端情况下,你可以拥有一个完全由 UIWebView 组成的应用程序(加上一些用于选择应用程序正在与之通信的服务器的机制),它几乎可以从服务器获取所有内容。

如果您这样做,则需要考虑性能(互联网连接可靠性、成本和速度),Apple 可能会反对在通过应用商店分发的任何应用上执行某些操作,但假设您遵循他们的指导方针或在商店外分发,唯一的我知道的限制是应用程序图标、启动屏幕和应用程序标识符,它们必须包含在捆绑包中。

于 2014-05-30T11:26:51.180 回答