复制一下代码,就可以直接使用了!
- //
- // 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
- //
- // 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