美文网首页ios专题
ios一键切换内网外网

ios一键切换内网外网

作者: HeavenWong | 来源:发表于2017-04-10 14:53 被阅读29次

有时候测试要经常切换内网外网,查看数据,为了方便测试,写一个功能,在DeBug模式下只要一个按钮就可以一键切换内网外网。

效果图

拓展功能类

  • 直接上代码

*** ChangeServer.h***

#import <Foundation/Foundation.h>
@interface ChangeServer : NSObject
+ (void)changeServer:(int)serverName;
+ (NSString *)baseUrl;
+ (NSString *)imageRootUrl;
@end

*** ChangeServer.m***

#import "ChangeServer.h"

@implementation ChangeServer

static int indexServer = 0;

+ (void)changeServer:(int)serverName {
    indexServer = serverName;
}

+ (NSString *)baseUrl {
    static NSArray *array = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        array = @[@"http://正式服地址",
                  @"http://测试服地址",
                  @"http://本地测试地址"
                  ];
    });
    return array[indexServer];

}

+ (NSString *)imageRootUrl {
    static NSArray *array = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        array = @[@"http://正式服地址",
                  @"http://测试服地址",
                  @"http://本地测试地址"
                  ];
    });
    return array[indexServer];
}
@end

用法实例

  • 在定义基地址的地方
#define BASE_URL     [ChangeServer baseUrl]
#define IMAGE_ROOT_URL     [ChangeServer imageRootUrl]
  • 在设置页面的导航条右侧---添加一个按钮一键切换内外网
#ifdef DEBUG
     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"切服地址" style:UIBarButtonItemStylePlain target:self action:@selector(changeServer)];
#endif
  • 在.pch文件添加头文件
#import "ChangeServer.h"
- (void)changeServer {
    NSArray *title = @[@"正式",@"测试服",@"本地测试"];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请选择要切换的服务器地址" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];
// 遵守协议:UIAlertViewDelegate
    alert.delegate = self;
    for(NSString* t in title)
    {
        [alert addButtonWithTitle:t];
    }
    [alert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex != alertView.cancelButtonIndex) {
        [ChangeServer changeServer:(int)buttonIndex-1];
    }
}

参考简书作者船长

相关文章

  • 物资app下载

    IOS 外网 内网 电力外网 Android 外网 内网 电力外网

  • ios一键切换内网外网

    有时候测试要经常切换内网外网,查看数据,为了方便测试,写一个功能,在DeBug模式下只要一个按钮就可以一键切换内网...

  • iOS-一键切换内外网

    开发时候,为了调试bug或者查看正式服数据,经常在内网和外网之间,为了方便测试,添加一个按钮,一键切换内外网,如图...

  • win7、win10设置无线和有线同时上网

    需求:同时连接有线(访问内网,内网不能上外网)和无线正常上网需要,避免来回切换 内网网关:10.9.8.1 外网网...

  • 2022-08-03网卡切换

    思路 公司内网、外网不允许同时使用,经常的切换。内网是有线连接,外网是通过无线网卡连接。连接内网时,无线网卡需要禁...

  • 使用cmd修改host达到内外网环境切换

    有时内网开发时会修改host指到内网的服务器环境,到了外网开发时,又要将host里面的记录删除 通过cmd脚本一键...

  • iptables简单配置DMZ

    要求 内网可以访问外网 内网可以访问DMZ区 外网不能访问内网 外网能访问DMZ区的服务 DMZ区不能访问内网 D...

  • xcode中构建多个target进行便捷调试

    在APP开发中,经常会在测试、发布、内网、外网环境切换。如果只有一个target,每次切换都需要去更改配置或修改程...

  • NATAPP内网穿透工具的使用教程

    内网穿透: 内网穿透简单来说就是将内网外网通过natapp隧道打通,让内网的数据让外网可以获取。 项目场景: 在本...

  • centos7安装http代理tinyproxy

    简介 内网访问不了外网,通过pc做代理,令内网机器访问外网。 安装 no package available?那就...

网友评论

    本文标题:ios一键切换内网外网

    本文链接:https://www.haomeiwen.com/subject/fspsattx.html