#pod 'SPDebugBar'
//如果您认为本开源库对您很有帮助,请打开URL给作者点个赞,您的认可可以鼓励我,作者还会推出更好的开源库再次//
//github地址//https://github.com/lishiping/SPWebView //github地址//https://github.com/lishiping/SPDebugBar //github地址//https://github.com/lishiping/SPFastPush //github地址//https://github.com/lishiping/SPMacro //github地址//https://github.com/lishiping/SafeData //github地址//https://github.com/lishiping/SPCategory //github地址//https://github.com/lishiping/SPBaseClass
//v1.0.0正式版加入修改NSUserDefaults,添加自定义组件功能 /** 切换服务器地址,帮助开发和测试在debug模式下或测试包中切换服务器地址,帮助修改和重置NSUserDefaults调试器,并添加自定义组件功能。
-
该工具的功能:在给定的服务器地址之间切换,并通过阻塞开发者测试者可以在使用APP插件时切换服务器地址
-
当应用程序启动时,检查给定的服务器地址是否正确,如果不正确,返回错误
-
在启动应用程序之前,可选择将本地选定的地址(每次每组第一次使用的默认选项)返回,如果给定的地址已更改,则全部重置,并返回每组的第一项
-
在启动应用程序后,可以通过按下调试栏弹出地址列表进行切换
-
弹出列表后,还可以点击当前所选的黑色框中的服务器地址,实际上是一个可以输入的UItextfield,在线按Enter,可以手动添加新的服务器地址,同时,将当前输入的列表添加到该组
-
点击调试栏可以隐藏和显示调试栏信息(调试栏信息是CPU、内存和FPS使用率)
当接收到内存警报时,调试栏会更改颜色
-
如果添加太多地址,您可以手动删除添加的地址,并将其恢复到给定的地址列表
-
这个工具可以事先设置更多的服务器地址,一组可以设置三个组的两组,例如方便不同的业务界面使用多个服务地址,如果组数已更改,数据将被重置,之前手动输入的所有内容都不会保留,并且应用程序将回到每组的第一项
-
v1.0.0的新增功能可以修改NSUserDefaults,并新增允许用户自定义添加功能的功能
11.使用方法,例如
切换服务器地址,帮助开发和测试在debug模式下或测试包中切换服务器地址,帮助修改和重置NSUserDefaults调试程序,并且可以添加自定义组件功能
1.本工具的功能:在指定的服务器地址之间切换,并且通过block返回选中的地址,方便开发者和测试人员在APP使用时切换服务器地址。
2.应用启动时,检查指定的服务器地址是否正确,如果错误则返回错误。
3.应用启动时返回本地保存的之前选中的地址(第一次默认选择每组第一个),如果给定地址有变化,则全部重置,并返回每组第一个。
4.应用启动后,可长按调试条弹出地址列表进行选择切换。
5.弹出列表后,也可以点击黑框内的当前选中服务器地址(实际上是一个UI textField,可以在线输入),回车后可手动添加一条新的服务器地址,并将其加入该组列表。
6.单击调试条可以隐藏和显示调试条信息(调试条信息为CPU、内存、FPS的使用情况)。
7.当收到内存警告时,调试条会变色。
8.如果添加的地址过多,可以清除手动输入添加的地址,恢复成给定的地址列表。
9.本小工具可以预先给定多组服务器地址,一组、两组、三组等都可以,方便不同业务接口使用多个服务地址。如果组数有变动,则数据全部重置,之前手动输入添加的不保留,且应用刚启动时返回的取每组第一个。
10.v1.0.0新加入功能,可以修改NSUserDefaults,新增加允许使用者自定义添加功能
111.使用方法,例如:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 应用启动后的自定义代码覆盖点。
// 获取系统配置的测试包是否开启 _TEST = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"TEST"]; // 加载调试工具 [self loadDebugTool];
[application setStatusBarHidden:NO];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
_topVC= [[ViewController alloc] init];
UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:_topVC];
self.window.rootViewController =navi;
[self.window makeKeyAndVisible];
return YES; }
// 加载调试工具 -(void)loadDebugTool { // 当debug和测试包开启时,为测试人员切换服务器调试,调试工具要显示,线上包时该调试工具不显示 if (_TEST||DEBUG) { NSDictionary* serverDic = @{ SP_TITLE_KEY:@"百度服务器地址", SP_ARRAY_KEY: @[ @"https://api.baidu.com", @"http://api.baidu.com", @"http://api.ceshi.baidu.com" ] };
NSDictionary *panServerDic = @{ SP_TITLE_KEY:@"百度网盘地址", SP_ARRAY_KEY: @[ @"https://api.pan.baidu.com", @"http://api.pan.baidu.com", @"http://api.ceshi.pan.baidu.com", @"http://api.test.pan.baidu.com" ]};
NSDictionary *imServerDic = @{ SP_TITLE_KEY:@"百度聊天地址", SP_ARRAY_KEY: @[ @"https://api.pan.baidu.com", @"http://api.pan.baidu.com", @"http://api.ceshi.pan.baidu.com", @"http://api.test.pan.baidu.com" ]};
NSArray *serverArray = [NSArray arrayWithObjects:serverDic,panServerDic,imServerDic, nil];
NSDictionary* secondDic = @{ SP_TITLE_KEY:@"灰度功能", SP_ARRAY_KEY: @[ @"ABTestSDK", @"AB放量" ] };
NSDictionary *thirdDic = @{ SP_TITLE_KEY:@"商业化功能", SP_ARRAY_KEY: @[ @"商业放量", @"商业灰度" ]};
NSArray *otherArray = [NSArray arrayWithObjects:secondDic,thirdDic, nil];
[SPDebugBar sharedInstanceWithServerArray:serverArray selectedServerArrayBlock:^(NSArray *objects, NSError *error) { NSLog(@"选中的服务器地址:%@",objects); _topVC.firstLabel.text =[NSString stringWithFormat:@"百度服务器地址:%@",objects[0]]; _topVC.secondLabel.text =[NSString stringWithFormat:@"百度网盘地址:%@",objects[1]];
} otherSectionArray:otherArray otherSectionArrayBlock:^(UINavigationController *navigationController,NSString *string, NSError *error) { _topVC.thirdLabel.text =[NSString stringWithFormat:@"你点击了:%@",string];
ABTestVC *abTestVC = [[ABTestVC alloc] init]; abTestVC.title = string;
[navigationController pushViewController:abTestVC animated:YES]; }]; } else { // 设置线上服务器地址 } }
*/