我正在考虑设计和构建一个系统,允许在iOS应用程序中对不同流程(例如注册流程、登录流程、购买流程)进行a/B测试。
脑海中浮现的一个系统最初看起来像:
- 应用程序ping服务器,服务器响应,给出资源列表(其中可能包括指向xib文件的一些链接)
- 如果用户在磁盘上没有这些xib,请下载它们并将其保存到磁盘
- 当视图控制器出现时,如果下载了xib,则从xib加载(否则默认为应用附带的控制器)
有没有人对这个想法有任何想法,或者对这个系统有任何见解?
注意:我并不是想实现一个可以添加新功能的系统。现在,我专注于改变流程,比如用户将看到的文本和视图。我不想讨论这是否违反了应用商店的规则,但如果你想这样做,就去做吧!
这是可能的,但我不知道是否会将XIB下载到设备上。对我来说似乎有点冒险。
苹果公司在WWDC 2010上做了一次演讲,讨论了这个确切的问题,他们建议使用(或多或少)Plists或JSON来构建界面,以描述UI元素及其功能,并动态构建视图。它非常值得一看,因为它带来了许多不太明显的小问题,但它需要一个开发人员帐户才能访问它)。
这将是一个有趣的系统。我想知道是否可以编写一个shell脚本来用新的二进制程序替换旧的应用程序。我知道这可能会比这更复杂,但这样做会很酷。我肯定会把它用于内部应用程序或个人工具。糟糕的是,苹果不允许这样做,除非有人偷偷地把它从他们身边溜走:-)
我说去做吧。你似乎对自己想做什么和如何做有很好的想法。根据服务器的响应更改UI并不罕见,但我想从服务器下载xib文件也是如此。我不明白为什么它不起作用,我也不认为它会被苹果拒绝,但你永远不会知道。