通过SDK访问iPhone的WiFi信息

25

有没有使用iPhone SDK获取WiFi信息的方法?我主要需要的是信号强度、WiFi频道和SSID等信息。

只对WiFi信息感兴趣,不关心蜂窝数据。


去苹果网站看看,他们公开了小部件和API供此使用。 - gagneet
2
是的,我知道有一个API - 只是不确定如何以编程方式获取信号强度。 - JamesSugrue
有什么想法如何使用这些调用吗? - CodingWithoutComments
相关内容:https://dev59.com/fG435IYBdhLWcg3w0ThP - Senseful
3个回答

13

1
但是信息不足。我希望苹果能够发布一些API,即使是针对他们自己的Airports。 - IBG
使用 iPhone 5c os7.1,此方法未被充分利用。我尝试过了,得到的 CFDictionaryRef 为空。 - vualoaithu
它不适用于iPhone 5S系统7.1,帮我取得它。 - vualoaithu
2
这非常具有误导性。此API不适用于任何WiFi网络,例如您的家庭或办公室网络。这仅适用于捕获网络,例如在连接到互联网之前需要用户交互(例如打开一个网页以捕获用户名和密码)的网络。您可能已经在酒店和餐厅看到了捕获网络。 - Prabu Arumugam

12

根据这个错误报告和这个 SO问题,我猜测目前没有官方支持的方法来做到这一点。

编辑:克里斯提到了WiFinder,这促使我进行了更深入的挖掘。根据WiFinder作者的博客,他使用了私有的Apple80211.framework方法。(在上面链接的SO问题中提到的框架。)显然,苹果不再允许在应用程序中调用这些私有API调用,这阻止了他更新WiFinder。

但是,如果您仍想使用它们,一些友善的人已经在Google Code上发布了已发现的Apple80211函数列表。

看起来Apple80211GetInfoCopy可能会有所帮助。


1
直到几周前,AppStore上有一个名为WifiTrak(bitrino.com/wifitrak/support.html)的应用程序,它显示了范围内所有可用的Wi-Fi热点列表。 然而,它已经从AppStore中撤下,因此即使看起来这是可能的,由于某种原因苹果公司可能不接受这种做法。 - leviathan
不支持 iPhone 5S OS7。 - vualoaithu
博客文章已缓存于此处:https://web.archive.org/web/20090220171732/http://larsbergstrom.wordpress.com/2008/11/03/on-the-lack-of-wifinder-updates/ - Tilo

1

WiFinder iPhone 应用以某种方式实现了这一点...


不错的发现。请查看我的编辑,以了解WiFinder作者在使用私有Apple80211.framework时遇到的问题。 - Gordon Wilson
1
WiFinder使用存储在数据库中的WiFi位置数据库。以我个人的看法,这不是对最初问题的回答,因为WiFinder应用程序只是基于用户GPS位置帮助定位用户,并确定存储在数据库中的WiFi站点之间的距离。 - leviathan
3
由于苹果公司关闭了API,因此该应用程序在我的最初帖子后进行了更改。它不再获取WiFi的信号强度信息。 - Chris Nava

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接