星空网 > 软件开发 > 操作系统

IOS中如何获取手机的当前IP

网上有许多类似的帖子、在搜索了资料以后、觉得下面的方法是最简单的、

使用的时候直接把类方法拖到自己新建的分类中就行、

.h文件

#import <Foundation/Foundation.h>

@interface NSObject (GetIP)

+ (NSString *)deviceIPAdress;

@end

.m文件

#import "NSObject+GetIP.h"

#include <ifaddrs.h>

#include <arpa/inet.h>

上面的两个头文件一定要导入


@implementation NSObject (GetIP)

+ (NSString *)deviceIPAdress {
    NSString *address = @"an error occurred when obtaining ip address";
    struct ifaddrs *interfaces = NULL;
    struct ifaddrs *temp_addr = NULL;
    int success = 0;
    
    success = getifaddrs(&interfaces);
    
    if (success == 0) { // 0 表示获取成功
        
        temp_addr = interfaces;
        while (temp_addr != NULL) {
            if( temp_addr->ifa_addr->sa_family == AF_.NET) {
                // Check if interface is en0 which is the wifi connection on the iPhone
                if ([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) {
                    // Get NSString from C String
                    address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
                }
            }
            
            temp_addr = temp_addr->ifa_next;
        }
    }
    
    freeifaddrs(interfaces);
    
//    NSLog(@"手机的IP是:%@", address);
    
    return address;
}


@end




原标题:IOS中如何获取手机的当前IP

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

“登顶巴西” “进军印度” Shopee的野蛮扩张 从未停歇~:https://www.kjdsnews.com/a/560682.html
英国税局迟迟不下号!原因竟然是!:https://www.kjdsnews.com/a/560683.html
亚马逊“虚拟捆绑商品”是什么,怎么设置?:https://www.kjdsnews.com/a/560684.html
运营Lazada7家本土店 菲律宾5家+泰国2家 月销售额最高70W!:https://www.kjdsnews.com/a/560685.html
侵权预警!亚马逊爆款沐浴刷多款专利埋雷 小心规避:https://www.kjdsnews.com/a/560686.html
好消息!eBay新增海外仓服务供货商:https://www.kjdsnews.com/a/560687.html
2024.04.18亚马逊选品推荐(仅供参考):女装蛋糕连衣裙:https://www.kjdsnews.com/a/1842234.html
欧洲市场疯了,订单排到7、8月!:https://www.kjdsnews.com/a/1842235.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流