iOS开发——获取本设备IP
2016-05-25 11:41
281 查看
不说废话,直接上代码。
#import <ifaddrs.h>
#import <arpa/inet.h>
- (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;
}
#import <ifaddrs.h>
#import <arpa/inet.h>
- (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;
}
相关文章推荐
- iOS上线流程
- IOS链接报错问题- Duplicate Symbol链接错的原因总结和解决方法
- Ios9-Multitasking-多任务处理一(悬浮视频)
- iOS 保存图片到相册, 保存到指定的路径
- iOS 如何更改Cell中默认accessoryView的位置
- iOS学习之——学习中遇到的一些常用的方法及一些注意事项(持续更新)
- ios合并静态库
- IOS(CGGeometry)几何类方法总结
- xib自定义控件 在 6p上被放大的文头解决方案
- iOS9提示框的正确使用方式
- 导航控制器(NavigationController)的生命周期
- Xamarin 从原生IOS Native Library SDK创建Xamarin版本的C# SDK Bindings
- iOS button加边框设置圆角
- iOS图片实现可拉伸不变形的处理操作
- ios按钮点击导致程序崩溃
- iOS学习之——常用的类名(持续更新)
- iOS Quartz2D 绘制简单图形--线,圆,弧线,贝塞尔曲线,文字
- iOS RTMP上推直播视频
- iOS 电池颜色及信号颜色的改变
- iOS 公司账号--配置证书,真机调试,导出证书,证书无效,ping++报错 --的解决方案