您的位置:首页 > 移动开发 > IOS开发

iOS最简单获取IP方法

2015-02-12 14:09 183 查看
复制一下代码,就可以直接使用了!

[objc] view
plaincopyprint?





//

// HYBIPHelper.h

// XiaoYaoUser

//

// Created by 黄仪标 on 14/12/9.

// Copyright (c) 2014年 xiaoyaor. All rights reserved.

//

#import <Foundation/Foundation.h>

@interface HYBIPHelper : NSObject

/*!

* get device ip address

*/

+ (NSString *)deviceIPAdress;

@end

[objc] view
plaincopyprint?





//

// HYBIPHelper.m

// XiaoYaoUser

//

// Created by 黄仪标 on 14/12/9.

// Copyright (c) 2014年 xiaoyaor. All rights reserved.

//

#import "HYBIPHelper.h"

#include <ifaddrs.h>

#include <arpa/inet.h>

@implementation HYBIPHelper

+ (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_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);

DDLogVerbose(@"手机的IP是:%@", address);

return address;

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: