2010年开始苹果清理了一批APP Store上的WIFI扫描软件,缘由语焉不详.
这些WIFI扫描软件使用了苹果的私有函数apple80211.framework
尽管不能合法(指能通过App Store的审核)的获取WIFI列表,不过我们还是可以获取到当前Wifi连接的信息,比如SSID.
SSID全称Service Set IDentifIEr,即Wifi网络的公开名称.
苹果在IOS v4.1+版本上提供了公开的方法来获取该信息.
示范代码如下:
[plain] view plain copy @H_502_55@#import <SystemConfiguration/captivenetwork.h> - (ID)fetchSSIDInfo { NSArray *ifs = (ID)CNcopySupportedInterfaces(); NSLog(@"%s: Supported interfaces: %@", __func__, ifs); ID info = nil; for (Nsstring *ifnam in ifs) { info = (ID)CNcopyCurrentNetworkInfo((CFStringRef)ifnam); NSLog(@"%s: %@ => %@", ifnam, info); if (info && [info count]) { break; } [info release]; } [ifs release]; return [info autorelease]; }对于ARC版本,代码可简化如下: copy @H_502_55@- (ID)fetchSSIDInfo { NSArray *ifs = (__brIDge_transfer ID)CNcopySupportedInterfaces(); NSLog(@"Supported interfaces: %@", ifs); ID info = nil; for (Nsstring *ifnam in ifs) { info = (__brIDge_transfer ID)CNcopyCurrentNetworkInfo((__brIDge CFStringRef)ifnam); NSLog(@"%@ => %@", info); if (info && [info count]) { break; } } return info; }
参考链接:
1. http://stackoverflow.com/questions/5198716/iphone-get-ssID-without-private-library
2. http://answers.yahoo.com/question/index?qID=20100529040141AAKd8dO
by IEfreer
扫描wifi信息:
http://code.google.com/p/uwecaugmentedrealityproject/http://code.google.com/p/iphone-wireless/
以上是内存溢出为你收集整理的iPhone,iPad如何获取WIFI名称即SSID全部内容,希望文章能够帮你解决iPhone,iPad如何获取WIFI名称即SSID所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)