如何在iOS上实现功能关闭开关

时间:2014-03-26 12:44:05

标签: ios objective-c runtime feature-selection

我正在为我工​​作的公司面临一些扩展挑战,我希望通过关闭开关实现新功能,这样如果该功能尚未准备好发货,我们可以将其关闭并准备好下一个版本。 我知道Facebook,Twitter,Podio和其他公司可能都有这个。 我能想到的最简单的方法是将代码嵌入到#ifdef - #endif块中,但是当我可以在运行时打开和关闭功能时,我希望有一个内部设置面板,这样更容易测试。 有什么想法可以实现吗?任何建议都非常感谢。感谢

2 个答案:

答案 0 :(得分:3)

将配置存储为服务器上的plist。当应用程序打开时,下载plist,将其解压缩并将内容存储到用户默认值中。对于可能已关闭的每个功能,请在启用访问权限之前检查用户默认值以查看是否存在。

为简单起见,请使用registerDefaults启用所有功能,并仅使用下载功能禁用功能。

答案 1 :(得分:2)

尝试在NSUserDefaults中保存此类设置 - 这样它们可以保持并且易于访问https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/nsuserdefaults_Class/Reference/Reference.html

您可以将每个功能的设置标志保存为NSUserDefaults中的设置 因此,每当用户尝试通过比较标志状态(启用/禁用)来打开该功能时,您可以向用户显示该功能或警报(这等待下一个版本等待...)

希望它有所帮助!