格式有点乱,整了几次都整只是来,大家将就一下吧。
这篇文章是本人(本人是菜鸟)在第一次接触上线项目时遇到的一个让我记忆深刻的问题。
假设你是大神。那么请绕过,这仅仅是非常肤浅的知识点,写给自己也分享给大家。
相信大家对于以下的语句一定不陌生。
#ifdef (1)
(2)
#else
(3)
#endif
可是我在这里还是略微解释一下吧(显得专业),假设在这个式子之前有#define(1)的话执行(2)否则执行(3)
假设仅仅是这一点的话那么就对不起各位观众了。以下就要说我遇到的问题了,
我近期接触的项目代码中有这样几句
#ifdef DEBUG
static NSString *const kFPBaseUrl =@"http://(1)";
#else
static NSString *const kFPBaseUrl =@"http://(2)";
#endif
相信基本上每一个项目里面都会有这几句
咋一看非常easy,没错,就是非常easy。就是一个測试server地址和生产server地址的切换。
可是问题就出在#ifdef DEBUG上,因为要改成生产server測试。所以我就開始找#defineDEBUG
可是我找遍了整个项目也没有找到,当时我就纳闷了。那要怎么去切换?后来我得人指点明确了。
原来这个#defineDEBUG能够算是Xcode集成的,事实上当我们执行项目的时候能够有选择是执行 debug 或 release 版本号。
怎样选择?例如以下图
如上图,假设选择 debug 编译的话算是系统自行创建了#defineDEBUG然后以下你就知道了。。。
对于这个问题可能在有经验的人来说非常easy,可是对于我们没有经验的或者没注意过的真还是有点帮助的。
在这里我还要说一点的是,关于在项目中肯定会有測试的server和生产的server。请求时用得地址接口肯定也不一样。
假设你不想麻烦在须要切换server是修改多个地方(并且easy出现错误),那么我建议你就仅仅在这一个地方涉及请求接口
的更换和修改。
这样做的优点就是改一个地方,全部的都会变。并且不easy出错,你还有什么理由不注意一下呢?
好了,今天就到这里。有错误欢迎指正,交流 —— LC.莫流觞