我对 Xcode 有一个小问题,想知道是否有人以聪明的方式解决了这个问题?
设想:
- 两名开发 iOS 应用程序的开发人员。
- 托管在 GitHub 上的单个 Xcode 项目。
- 我有三种配置:Debug、TestFlight 和 Release。
- 至少对于发布版本,我希望将我们的 Web 服务 API 的主机名编译到应用程序中。
我在 API 包装器中有这样的代码:
#ifdef CONFIGURATION_Debug
static NSString * const kAPIBaseURLString = @"http://10.10.10.41:8080/api";
#elif CONFIGURATION_TestFlight
static NSString *const kAPIBaseURLString = @"http://9.9.9.9.eu-west1.compute.amazonaws.com:8080/api";
#elif CONFIGURATION_Release
static NSString * const kAPIBaseURLString = @"http://some.production.server";
#else
static NSString * const kAPIBaseURLString = @"http://error-crazy-configuration-must-be-set-in-xcode";
#endif
这一切都很好,但是,开发人员之间存在关于DEBUG
字符串的 Git 之争。每个都指向我们自己的开发实验室,并且该文件不断地作为一个地址或下一个地址签入。它是一种痛苦。
我不想让 git "assume-nochanges" 因为在这个类中有重要的代码定期更改。
我曾考虑将主机名作为 arg 传递,但这也会导致 git 看到的项目结构发生变化。
关于如何让我们设置主机名而不需要 Xcode 或 git 的任何脑电波?