第一步 创建一个NSObject 文件

.h 文件 写

#import <Foundation/Foundation.h>

@interface NSObject (GetIP)

+ (NSString *)deviceIPAdress;

@end

.m文件 写

#import "NSObject+GetIP.h"

#include <ifaddrs.h>

#include <arpa/inet.h>

@implementation NSObject (GetIP)

//必须在有网的情况下才能获取手机的IP地址

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

NSLog(@"%@", address);

return address;

}

@end

第二步 在VC 里面导入 头文件等

#import "NSObject+GetIP.h"

#include <ifaddrs.h>

#include <arpa/inet.h>

#include <net/if.h>

#define IOS_CELLULAR    @"pdp_ip0"

#define IOS_WIFI        @"en0"

#define IOS_VPN         @"utun0"

#define IP_ADDR_IPv4    @"ipv4"

#define IP_ADDR_IPv6    @"ipv6"

第三步 在你写给后台的网络请求里写入

NSString *StringIP = [NSString deviceIPAdress]; //调用方法 获取ip地址 赋值给字符串 stringIP

[params setObject:StringIP forKey:@"ipNum"];  //把ip 地址对应后台提供的参数 传给后台

iOS 获取手机的ip地址 并传给后台(三步搞定)相关推荐

  1. php获取手机ip地址,获取手机的ip地址

    获取手机的ip地址 2014年10月14号 发表于:评论 () 热度:1287 随着手机功能的不断完善,手机网站的开发日趋简单,所以很多人都趋于用html不限定宽度的方式来写电脑网页.同样的,手机浏览 ...

  2. 获取手机WiFi Ip地址

    如何获取手机WiFi的ip地址,我就直接贴代码吧: public class MainActivity extends AppCompatActivity {private TextView tv;@ ...

  3. Android获取手机WiFi IP地址,MAC地址和网关地址程序实例

    现在博主在上大三,正在学习一些计算机网络的一些概念,知道了局域网ip和网关ip不同的概念,当时还纳了闷了2的32次方好像不咋够用啊,原来是这个样子. 由于之前学过一段时间的Android,同时又在上A ...

  4. iOS获取手机的Mac地址

    首先说明下,下面两种方法均可以获得手机的mac地址,但是有个限制,是在iOS7以下才可以获得.iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:0 ...

  5. 网页怎么在图片上添加文字_想给图片添加文字,留白,添加小印章?用手机三步搞定...

    如今越来越多的伙伴喜欢手机摄影,拍好的照片,还可以制作各种精美的图文,直接表达心情的同时,还能获得一片"赞"! 效果1: 图片下方留白+圆形印章 效果2: 图片上下方留白+椭圆形印 ...

  6. Android中获取手机 IMEI Mac地址 IP地址

    一.获取手机IMEI 手机在生产时,每部手机均有一个唯一的标识(ID),国际上采用国际移动设备身份码(IMEI, International Mobile Equipment Identity).IM ...

  7. 获取手机mac php,IOS_iOS如何获取手机的Mac地址,首先说明下,下面两种方法均 - phpStudy...

    iOS如何获取手机的Mac地址 首先说明下,下面两种方法均可以获得手机的mac地址,但是有个限制,是在iOS7以下才可以获得.iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回 ...

  8. iOS 获取手机IP 地址

    #import <ifaddrs.h>#include <arpa/inet.h>#include <net/if.h>//获取IP地址+(NSDictionary ...

  9. 通过adb命令获取Android手机的IP地址

    要获取Android手机的IP地址,必须先保证你的Android手机已经连接到无线网络(此处的无线网络包括WiFi和WAPI,不包括3G或2G的移动网络). 先执行命令"adb shell ...

最新文章

  1. 10篇顶会paper,入选微软学者,上海交大吴齐天的科研思考!
  2. css3 text-shadow 为网页字体添加阴影
  3. laravel 5.8 guzzle get 参数_Laravel速查表 Cache Cookie Request
  4. 关于realarm S5P4418的u-boot显示内存大小问题解决方法
  5. C语言课后习题(40)
  6. 有关Visual Studio Code的说明
  7. 【vijos P1914】【codevs 3904】[NOIP2014 普及组T4]子矩阵(dfs+状压dp)
  8. 【Linux】linux内核学习
  9. Oracle 12导出、导入数据
  10. 与7无关的数(前缀和)
  11. 定义列表: DL DT DD
  12. python中文文本聚类_python进行中文文本聚类实例(TFIDF计算、词袋构建)
  13. 计算机断电会自动重启吗,电脑开机断电或自动重启的分析及解决方法
  14. 365天口才训练计划
  15. 站长常用的200个js代码
  16. [附源码]计算机毕业设计springboot动物保护协会网站
  17. 笔记本电脑怎么做计算机题吗,笔记本怎么重装系统 笔记本重装电脑简单教程【图文教程】...
  18. Linux write through 和write back
  19. 我就是那个错过了乔布斯的变态老码农
  20. 小程序性能优化之页面预加载方案——让你的小程序运行如飞 进阶篇

热门文章

  1. 【微信技术-微信小程序】------- 渐进式骨架屏(加载流)(第二篇)
  2. 想要吸引女性粉丝?三种短视频类型可尝试,点赞关注少不了
  3. Java如何实现手动连接数据库(Mysql或Oracle) | 超级详细,建议收藏
  4. 《浮生六记》年表整理
  5. 苹果iPad Pro为什么选择激光雷达?
  6. c语言读音,C语言的32个关键字(读音、用法、注释)转来的,给刚接触C的
  7. Dynamics 365 New Feature之Rich Text Editor Control
  8. TopOn广告SDK——聚合广告SDK
  9. d盘无法格式化怎么解决
  10. 手把手教你 win10 安装Paddlepaddle-GPU