你可以推荐什么来存储在Swift上编写的iOS应用程序的设置(API端点,不同的键 - 用于Facebook,Twitter等)?我需要在环境之间轻松切换 - 开发(本地iOS模拟器),登台(登台服务器)和生产(用于AppStore)。我看到的解决方案之一是创建具有应用程序设置的预定义常量的类设置。它够好吗?或者也许你可以向我推荐一些东西"迅捷方式"?
PS:如果你熟悉铁轨上的红宝石 - 我看起来像figaro gem(https://github.com/laserlemon/figaro)
答案 0 :(得分:2)
使用每个环境的键创建一个plist或直接加载
为每个环境创建一个目标,并根据需要在每个环境中添加构建标记/正确的plist。
然后添加宏(仍然可以在swift中使用)
#if DEBUG
// set the debug keys here or load the plist
#else if RELEASE
// set the release keys here or load the plist
#else if STAGING
// load the staging keys or load the plist
#endif
根据需要使用密钥
更好的解决方案是从发布环境标志的服务器中获取密钥
答案 1 :(得分:0)
在构建设置中添加每个目标/配置预处理器定义(您要查找的密钥是预处理器宏(在Apple LLVM - 处理下))。您可以通过将RELEASE = 1附加到预处理宏字段来设置编译时定义RELEASE
。
我已经使用此方法构建同一应用的精简版和常规版。我有一个目标有两个配置。然后我在我的代码中有#ifdef语句来触发特定功能等。
这样做的好处是,您可以根据自己的方式自定义每个目标或配置,具体取决于您的项目结构布局(目标与配置)。