Xcode环境配置和自定义设置

本文介绍了如何在Xcode中配置不同环境(开发、测试、生产)的接口请求URL。通过设置宏变量、plist文件和创建用户自定义设置等方式实现灵活切换。

Xcode环境配置和自定义设置
前言:项目开发一般分为开发环境(开发人员)、测试环境(测试人员)、生产环境(正式上线),当然还可以分得更细一些

一、这三个环境的接口请求的url也是不一样的,我们来看下几种配置方式
(1)、我们有的设置宏变量来定义,这种方法就是针对不同的情况来注释对应的代码,eg
这里写图片描述
(2)、在plist中设置,然后开发人员选择获取对应的plist里的值
这里写图片描述
(3)、创建用户自定义设置
1、在Info.plist中新建一个AppSettings字典,将各个环境不同的值key写进去
这里写图片描述
2、重新定义配置环境,在项目—project—Info —configuration中,新建3个
这里写图片描述
对应3个环境的配置如下:TestFlight和Development是Debug configuration,Production是Release configuration
这里写图片描述
3、在项目—target—Build Settings,点击+ 添加用户自定义设置
这里写图片描述
4、将相关内容添加进去
这里写图片描述
5、在plist中获取我们设置的值,用(CXDBASEURL)(CXD_ENVIROMENT)
这里写图片描述

6、下面我们从plist中读取相关数据,新建AppSettings


#import "AppSettings.h"

@interface  AppSettings()

@property(strong, nonatomic) NSString *url;

@property(assign, nonatomic) BOOL environment;

@end

@implementation AppSettings

+ (AppSettings *)shareInstance{

    static AppSettings *instane = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        instane = [[AppSettings alloc] init];
    });

    return instane;
}

- (instancetype)init{

    self = [super init];
    if (self) {
        [self requestPlistData];
    }

    return self;
}

#pragma mark - 获取plst中的相关数据
- (void)requestPlistData{
    //1.获取路径
    NSString *src=[[NSBundle mainBundle]pathForResource:@"Info" ofType:@"plist"];
    //2.获取plist文件的dict
    NSMutableDictionary *allDic = [[NSMutableDictionary alloc]initWithContentsOfFile:src];
//    NSLog(@"allDic-->%@",allDic);

    NSMutableDictionary *AppSettings =  allDic[@"AppSettings"];
    self.environment=[(NSNumber*)[AppSettings objectForKey:@"Environment"]boolValue];
    NSLog(@"environment----->%d",self.environment);

    self.url = [AppSettings objectForKey:@"BaseURL"];
    NSLog(@"url----->%@",self.url);
}


#pragma mark - baseurl
- (NSString *)baseUrl{
    return self.baseUrl;
}

#pragma mark - 开发、测试/生产
- (BOOL)isEnviromentStatues{
    return self.environment;
}

@end

7、切换环境,Product—Scheme—Edit Scheme….Run—Info中Build configuration中选择
这里写图片描述
这里写图片描述

- (void)viewDidLoad {
    [super viewDidLoad];

    NSLog(@"baseUrl-->%@",[AppSettings shareInstance].baseUrl);

    NSLog(@"enviroment-->%d",[AppSettings shareInstance].isEnviromentStatues);
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值