iOS 获取IP地址

// Get IP Address

- (NSString *)getIPAddress {

NSString *address =@"error";

structifaddrs *interfaces = NULL;

structifaddrs *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([[NSStringstringWithUTF8String:temp_addr->ifa_name]isEqualToString:@"en0"]) {

// Get NSString from C String

                    address = [NSStringstringWithUTF8String:inet_ntoa(((structsockaddr_in *)temp_addr->ifa_addr)->sin_addr)];

                }

            }

            temp_addr = temp_addr->ifa_next;

        }

    }

// Free memory

freeifaddrs(interfaces);

return address;

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券