【问题标题】:Accessing iPhone WiFi Information via SDK通过 SDK 访问 iPhone WiFi 信息
【发布时间】:2010-09-26 00:02:53
【问题描述】:

有没有办法使用 iPhone SDK 获取 WiFi 信息?信号强度、WiFi 频道和 SSID 之类的东西是我正在寻找的主要内容。

只对 Wifi 信息感兴趣,对蜂窝网络不感兴趣。

【问题讨论】:

  • 查看苹果网站,他们为此提供了小部件和 api。
  • 是的,我知道有一个 API - 只是不确定如何以编程方式获取信号强度
  • 知道如何使用这些调用吗?

标签: iphone cocoa-touch wifi


【解决方案1】:

根据this 错误报告和this SO 问题,我猜没有支持的方式来执行此操作。

编辑:Chris 提到了 WiFinder,这促使我做更多的挖掘工作。根据 WiFinder 作者的blog,他使用了私有 Apple80211.framework 中的方法。 (上面链接的 SO 问题中提到的框架。)显然,Apple 将不再允许在应用程序中调用这些私有 API,这会阻止他更新 WiFinder。

但是,如果您仍然想使用它们,一些好心人已将已发现的 Apple80211 函数列表发布到 google code

看起来Apple80211GetInfoCopy 可能会成功。

【讨论】:

  • 直到几周前,应用商店上还有一个名为 WifiTrak (bitrino.com/wifitrak/support.html) 的应用程序,它显示了范围内所有可用 wi-fi 热点的列表。然而,它已从应用商店中撤下,因此即使看起来这是可能的,但无论出于何种原因,它都可能不被 Apple 接受。
  • 它不适用于iphone 5S OS7
  • 博客文章缓存在这里:web.archive.org/web/20090220171732/http://…
【解决方案2】:

WiFinder iPhone 应用程序以某种方式做到了...

【讨论】:

  • 不错的发现。使用私有 Apple80211.framework 查看我对 WiFinder 作者问题的编辑
  • WiFinder 正在使用 WiFi 的数据库,其位置存储在数据库中。恕我直言,这不是最初问题的答案,因为 WiFinder 应用程序只是帮助根据用户的 GPS 位置定位用户,并确定到存储在数据库中的 WiFi 站的距离。
  • API 已被 Apple 关闭,因此该应用程序自我最初发布以来已更改。它不再获取 WiFi 的信号强度信息。
【解决方案3】:

根据this,实际上从 iOS 4.1 开始就有可能。

函数被调用:CNCopyCurrentNetworkInfo()

希望对您有所帮助。

【讨论】:

  • 但信息不足。我希望 Apple 甚至为他们自己的 Airports 发布一些 API。
  • iPhone 5c os7.1 这个方法不能用full。我尝试让 CFDictionaryRef 为空
  • iphone 5S os 7.1 无法使用完整版,帮我搞定
  • 这是非常具有误导性的。此 API 不适用于任何 WiFi 网络,例如您的家庭或办公室网络。这仅适用于强制网络,例如在连接到 Internet 之前需要用户交互(例如打开网页以获取用户名和密码)的网络。您可能已经在酒店和餐馆中看到了专属网络。
猜你喜欢
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多