为了账号安全,请及时绑定邮箱和手机立即绑定

如何在iOS / macOS上以编程方式获取我的IP地址?

如何在iOS / macOS上以编程方式获取我的IP地址?

iOS
潇湘沐 2019-08-06 13:52:57
如何在iOS / macOS上以编程方式获取我的IP地址?我想以编程方式获取iPad的IP地址。如何查询网络子系统以找出我的IPv4(和IPv6)地址是什么?PS:我可以以某种方式禁用IPv6吗?
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

在您的实现文件.m中,

#import <ifaddrs.h>#import <arpa/inet.h>// Get IP Address- (NSString *)getIPAddress {    
    NSString *address = @"error";
    struct ifaddrs *interfaces = NULL;
    struct ifaddrs *temp_addr = NULL;
    int success = 0;
    // retrieve the current interfaces - returns 0 on success
    success = getifaddrs(&interfaces);
    if (success == 0) {
        // Loop through linked list of interfaces
        temp_addr = interfaces;
        while(temp_addr != NULL) {
            if(temp_addr->ifa_addr->sa_family == AF_INET) {
                // 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;
        }
    }
    // Free memory
    freeifaddrs(interfaces);
    return address;}


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 554 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信