您的位置:首页 > 移动开发 > IOS开发

iOS获取设备外网IP的方法

2016-03-11 10:01 309 查看
网上查了很多资料,不是获取到的是局域网内IP就是编译不过,或者通过访问获取时访问网址无法登陆

特此经过多次尝试查找IP的网址,结合网上查到获取IP的方法,将目前能用的网址写成代码

方法如下:

+(NSDictionary *)deviceWANIPAdress{

    NSError *error;

    NSURL *ipURL = [NSURL URLWithString:@"http://pv.sohu.com/cityjson?ie=utf-8"];

    NSMutableString *ip = [NSMutableString stringWithContentsOfURL:ipURL encoding:NSUTF8StringEncoding error:&error];

    //判断返回字符串是否为所需数据

    if ([ip hasPrefix:@"var returnCitySN = "]) {

        //对字符串进行处理,然后进行json解析

        //删除字符串多余字符串

        NSRange range = NSMakeRange(0, 19);

        [ip deleteCharactersInRange:range];

        NSString * nowIp =[ip substringToIndex:ip.length-1];

        //将字符串转换成二进制进行Json解析

        NSData * data = [nowIp dataUsingEncoding:NSUTF8StringEncoding];

        NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

        return dict;

    }

    return nil;

}

方法非原创,只是沿用,并对数据进行处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios开发 ios 网络