ifish/Ifish/controllers/IfishTabControllers/我的/mineControllers/pushSetControllrs/LxGetCurrentIp.m

47 lines
1.2 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// LxGetCurrentIp.m
// Ifish
//
// Created by imac on 16/9/12.
// Copyright © 2016年 lianxiang. All rights reserved.
//
#import "LxGetCurrentIp.h"
#include <ifaddrs.h>
#include <arpa/inet.h>
@implementation LxGetCurrentIp
+(NSString *)currentIPAddress
{
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_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;
}
}
freeifaddrs(interfaces);
NSLog(@"手机的IP是%@", address);
return address;
}
@end