【Tip】利用Xcode的环境变量来控制特定的代码开关

通常的做法是在启动时设置一些变量

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //...
    
#if DEBUG
    NSFNetworkLayerLogging = YES;
    NSFModelLayerLogging = YES;
    //...
#endif
    
    return YES;
}

多人协作时,一个人调试时打开的开关,很可能会混在正常的修改里一起提交到仓库中,影响到其他人的配置。

解决方案

将开关移到Xcode的Environment variables设置里
《【Tip】利用Xcode的环境变量来控制特定的代码开关》

然后

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//...
    
#if DEBUG
    NSString *string = [[NSProcessInfo processInfo] environment][@"NSFModelLayerLogging"];
    NSFModelLayerLogging = [string boolValue];
#endif
    
    return YES;
}
    原文作者:NSFish
    原文地址: https://segmentfault.com/a/1190000014576839
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞