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中获取我们设置的值,用
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);
}