iOS开发 - 获取网关IP,运营商,位置,可判断是在国内还是国外

你也许会有一个需求,需要判断当前网络的IP地址是在国内还是国外,也许你需要判断连接的Wi-Fi运营商是哪家的,虽然网上也有方法,但是却写得很简单,没有进行深入的说明,所以今天博主重新整理,给大家一个方法来处理:
首先获取IP:

-(NSString *)getWANIP
{
//通过淘宝的服务来定位WAN的IP,否则获取路由IP没什么用
    NSURL *ipURL = [NSURL URLWithString:@"http://ip.taobao.com/service/getIpInfo.php?ip=myip"];
    NSData *data = [NSData dataWithContentsOfURL:ipURL];
    NSDictionary *ipDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    NSString *ipStr = nil;
    if (ipDic && [ipDic[@"code"] integerValue] == 0) { //获取成功
        ipStr = ipDic[@"data"][@"country"];
    }
    return (ipStr ? ipStr : @"");
}


//获取到的信息给大家放这里:
{
    code = 0;
    data =     {
        area = "华东";
        "area_id" = 300000;
        city = "杭州市";
        "city_id" = 330100;
        country = "中国";
        "country_id" = CN;
        county = "";
        "county_id" = "-1";
        ip = "xxxxxxxxx";
        isp = "电信";
        "isp_id" = xxxxxxx;
        region = "浙江省";
        "region_id" = xxxxxx;
    };
}

通过以上信息,可以实现判断运营商(当然也有其他方法啦),判断是国内还是国外(这个貌似少有方法可以判断,我说的是实时的哦),位置信息(这个无关痛痒了,LBS也可以啦,或者基于其他第三方的也行的)。

注意一点,这里的请求是同步的哦,但是速度很快,你也可以改造成异步,GET,POST都可以,放入链接到你对应的请求中就可以啦,当作简单的url来处理即可。

遇到一个问题就是,放入博主自定义的异步请求中,然后和dispatch_group的enter_group,leave_group一起用的时候不知道为什么卡住主线程了,要几十秒到一分多钟才能结束,很奇怪哦,但是上面这个同步方法一秒都不需要,博主索性直接同步来了,目前稳定,没试过放入AF的请求中,大家可以自己试试看,也许有惊喜。

就说这么多,大家一起学习吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
iOS开发中,支付是一个非常重要的功能。在开发支付时,需要考虑到支付流程、支付方式、支付安全等方面的内容。以下是一些开发支付的要点: 1. 集成支付SDK iOS开发中,一般使用第三方支付SDK来实现支付功能。常见的支付SDK包括:支付宝SDK、微信支付SDK、银联支付SDK等。在使用SDK前,需要先注册开发者账号,并获取相应的API Key和App ID等信息。 2. 支付流程 支付流程一般包括以下几个步骤: - 用户选择支付方式; - 向支付平台发起支付请求; - 用户输入支付密码; - 支付平台返回支付结果; - 应用根据支付结果进行相应的处理。 3. 支付安全 支付安全是非常重要的。在开发中,需要考虑到以下方面: - 用户信息的安全保护:包括用户的账号、密码、支付信息等; - 支付数据的安全保护:对于涉及到支付的数据,需要采用加密算法进行保护,避免被非法攻击者窃取; - 安全审计:需要对支付过程中的各个环节进行安全审计,及时发现并修复漏洞。 4. 支付方式 在iOS开发中,常见的支付方式包括: - 支付宝支付:支持PC端、移动端、扫码支付等多种支付方式; - 微信支付:支持微信内支付、H5支付、APP支付等多种支付方式; - 苹果支付:支持应用内购买,用户可以直接使用Apple ID进行支付。 需要根据应用的实际情况,选择适合的支付方式。 总之,开发支付需要考虑到多个方面的内容,包括支付流程、支付方式、支付安全等,需要仔细规划和实现,以保证支付功能的正常运作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingFire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值