如何通过UIButton切换请求的服务器地址

在我们开发的过程中免不了会有环境不同的包。测试包,线上测试包,线上包,还有一些其他特殊需求的包。

在Debug环境下,不用手动修改代码可以任意切换不同的服务器地址。

Go
网络请求三方库:
AFNetworking .
通过本地存储修改AFN的 baseURL 属性。(当你使用其他的库或者自定义的网络请求类的话,也是这个思路)
1.声明不同的服务器地址为不同的静态字符串类型
example:

UIKIT_EXTERN NSString *const BaseUrlApp;//正式域名
NSString *const BaseUrlApp = @"https:www.baidu.com/";

UIKIT_EXTERN NSString *const BaseUrlTest;// 测试域名
NSString *const BaseUrlApp = @"https:www.baidu.com/";

UIKIT_EXTERN NSString *const BaseUrlAppTest;//线上测试域名(在.h文件中声明)
NSString *const BaseUrlApp = @"https:www.baidu.com/";(在.m文件中指定服务器地址)

2.在登陆界面 通过生成UIButton分别代表不同的服务器地址,指定AFN的 baseURL,并做本地存储(可以通过手势操作来控制显示或者隐藏切换的界面)。

 xx.baseUrl = BaseUrlApp
>[[NSUserDefaults standardUserDefaults] setValue:BaseUrlApp forKey:@"baseUrl"];

3.点击登陆或者注册 都是通过指定的地址:

 xx.baseUrl = BaseUrlApp

4.本地存储了账号可以在AppDelegate中获取key "baseUrl"。

#ifdef DEBUG
    xx.baseUrl = (NSString *)[[NSUserDefaults standardUserDefaults] valueForKey:@"baseUrl"] == nil ? BaseUrlTest:(NSString *)[[NSUserDefaults standardUserDefaults] valueForKey:@"baseUrl"];
#else
    xx.baseUrl = BaseUrlApp;
#endif
  • 在Debug环境下,通过获取本地存储的baseUrl获取上次点击选择的服务器地址。如果不存在此地址,指定默认地址。
  • Release环境下,避免出现问题。直接执行服务器地址为线上地址。
ezgif.com-video-to-gif.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容