【发布时间】:2015-03-10 15:26:35
【问题描述】:
我需要从我的 iOS 应用中找到 Wi-Fi 的路由器地址。我在网上搜索了解决方案,但似乎没有任何效果。我需要一些不使用私有 API 且不违反 Apple 政策的东西。
我尝试了以下文章中的解决方案,但它们都没有真正给我路由器 IP 地址。
How can I determine the default gateway on iPhone?
Fetching IP address of router to which iPhone is connected
Objective-C : How to fetch the router address?
How to get the WIFI gateway address on the iPhone?
还有一种方法可以从掩码和设备 IP 中“计算”IP(或者我的 TCP/IP 课程可以追溯到很久以前)...
谢谢!
【问题讨论】:
-
我使用您上一个链接中显示的 Thomas Bernard 的代码来解决相同的问题(从 Swift 调用并进行小修复以消除内存泄漏)。它运作良好。关于IP计算,你不能这样做,网关IP可以是网络有效IP范围内的任何地方。
-
对此的快速搜索还显示了iOS-System-Services 库,它提供了许多网络服务调用。只需获取获取我自己的 IP 地址的代码并将其放入演示项目中即可验证它是否有效
-
最好的方法是基于 C 的系统配置框架,虽然不容易。请记住,与所有网络连接一样,它是短暂的。
-
@LouisTur 是的,我找到并尝试了。我给了我关于它报告内容的准确信息,但遗憾的是没有给我路由器 IP 地址。
-
@uchuugaka 你有例子吗?我认为没有其他人共享代码它不会像 getRouterIPAddress() 那样简单;)
标签: ios objective-c networking router