【发布时间】:2010-01-14 23:39:02
【问题描述】:
我们的开发环境为我们的沙盒实例、暂存服务器和生产环境提供了许多不同的设置。
在我们的 iphone 代码中,我们将这些设置组织在 plist 中。
任何人都参考了基于当前环境管理 plist 换出的最佳实践?无需手动更改文件,或担心将开发环境更改提交到存储库?理想情况下,它只是一个构建参数开关或其他东西。
【问题讨论】:
标签: iphone objective-c cocoa-touch xcode
我们的开发环境为我们的沙盒实例、暂存服务器和生产环境提供了许多不同的设置。
在我们的 iphone 代码中,我们将这些设置组织在 plist 中。
任何人都参考了基于当前环境管理 plist 换出的最佳实践?无需手动更改文件,或担心将开发环境更改提交到存储库?理想情况下,它只是一个构建参数开关或其他东西。
【问题讨论】:
标签: iphone objective-c cocoa-touch xcode
几小时前我已经回答了一个相关问题 (iPhone - Switching between local and production environment settings)。
将此代码放在需要使用基于模式(调试/发布)=(开发/生产)的配置的地方。
放置它的最佳位置是“ProjectName”_Prefix.pch 文件。
#ifndef __OPTIMIZE__ // __OPTIMIZE__ is not enabled, it means that the active config is Debug/Development, so here you have to put your code for development mode
// For example
#define SERVER_URL @"http://my.test.server/something"
#define PLIST_NAME @"developmentSettings"
#else //__OPTIMIZE__ is defined, so put here your production code
// For example
#define SERVER_URL @"http://my.production.server/something"
#define PLIST_NAME @"productionSettings"
#endif // __OPTIMIZE__
干杯,
VFN
【讨论】: