回答
也许这是你在找什么:
死链接:http://www.enigmaticape.com/blog/determine-wifi-enabled-ios-one-weird-trick
没有一个框架,你想要做什么,但有一个技巧可能工作。如果您列出可用的界面,会有,只是出现当WiFi开启(有的仅仅出现在你连接一个某些接口可以列出这样的接口:
struct ifaddrs *interfaces;
if(!getifaddrs(&interfaces)) {
for(struct ifaddrs *interface = interfaces; interface; interface=interface->ifa_next) {
BOOL up = (interface->ifa_flags & IFF_UP) == IFF_UP;
if (up) {
NSLog(
@"Name : %s, sa_family : %d",
interface->ifa_name,
interface->ifa_addr->sa_family
);
}
}
}
与WiFi输出关闭:
Name : lo0, sa_family : 18
Name : lo0, sa_family : 30
Name : lo0, sa_family : 2
Name : lo0, sa_family : 30
Name : pdp_ip0, sa_family : 18
Name : pdp_ip0, sa_family : 2
Name : en0, sa_family : 18
Name : awdl0, sa_family : 18
输出带wifi上:
Name : lo0, sa_family : 18
Name : lo0, sa_family : 30
Name : lo0, sa_family : 2
Name : lo0, sa_family : 30
Name : pdp_ip0, sa_family : 18
Name : pdp_ip0, sa_family : 2
Name : en0, sa_family : 18
Name : awdl0, sa_family : 18
Name : awdl0, sa_family : 30
输出与WiFi和连接:
Name : lo0, sa_family : 18
Name : lo0, sa_family : 30
Name : lo0, sa_family : 2
Name : lo0, sa_family : 30
Name : pdp_ip0, sa_family : 18
Name : pdp_ip0, sa_family : 2
Name : en0, sa_family : 18
Name : en0, sa_family : 30
Name : en0, sa_family : 2
Name : awdl0, sa_family : 18
Name : awdl0, sa_family : 30
如果您探索ifaddrs结构,您还会发现连接网络的BSSID/SSID。
有趣的链接! –
我建议阅读关于该链接的评论,特别是关于支持的评论。根据这些,这不适用于iPhone 4s和第一代iPad。我认为这是因为这些设备不支持Wi-Fi直连,因此没有这样的接口 –
请看这个https://github.com/alirp88/SMTWiFiStatus –
提到同一主题有几个问题。你试过this code from Apple?
@property (retain, nonatomic) Reachability* reach;
self.reach = [Reachability reachabilityForInternetConnection]; //retain reach
[self.reach startNotifier];
NetworkStatus remoteHostStatus = [self.reach currentReachabilityStatus];
if(remoteHostStatus == NotReachable) {NSLog(@"init **** Not Reachable ****");}
else if (remoteHostStatus == ReachableViaWiFi) {NSLog(@"int **** wifi ****"); }
else if (remoteHostStatus == ReachableViaWWAN) {NSLog(@"init **** cell ****"); }
还有一个project on github
.。你的项目里面进口的,你可以这样检查连接:
Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];
NetworkStatus status = [reachability currentReachabilityStatus];
if(status == NotReachable)
{
//No internet
}
else if (status == ReachableViaWiFi)
{
//WiFi
}
else if (status == ReachableViaWWAN)
{
//3G
}
谢谢,但我不想看看它是否连接到互联网,只要启用了wifi即可。 – Jorgen
比你需要检查@ gbuzogany的链接!它更复杂但应该是要走的路。 –
- 1. Windows phone 8,检查wifi是否打开?
- 2. 检测泛型类型是否打开?
- 3. 检测文件是否打开
- 4. 检测SharePoint文件是否打开
- 5. 检测是否有对话框打开
- 6. iPhone:检测UIAlert/UIActionSheet是否打开
- 7. android:检测设置(com.android.settings)是否打开
- 8. 检测相机是否已打开
- 9. 如何知道iOS是否打开wifi?
- 10. 检测wifi是否启用(不管它是否已连接)
- 11. 检测Gtk.TreeNode是否展开
- 12. 检测开放的WiFi网络
- 13. 打开/关闭WiFi
- 14. 检测是否在Web应用程序中打开工具已打开
- 15. 如何检测MSword是否打开特定的文件?
- 16. 检测是否从应用打开页面
- 17. 使用SenTestingKit进行单元测试:检查是否打开?
- 18. 用php检测文件是否正在上传或打开
- 19. WinForms - 检测是否有任何对话窗口打开
- 20. 检测NumLock是否关闭并将其始终打开
- 21. 检测文件是否已在javascript/hta中打开
- 22. VB.NET:检测文本文件是否打开
- 23. 检测眼睛是否打开或关闭
- 24. 检测钱箱是否用ESC命令打开
- 25. 检测jQuery UI对话框是否打开
- 26. 检测是否从同一网站打开一个窗口
- 27. 访问:如何使用VBA检测查询是否打开?
- 28. 检测URL是否已打开 - Chrome扩展程序
- 29. 检测应用程序是否从锁定屏幕打开
- 30. 检测文件是否已经在javascript中打开
通过编码。你有什么尝试? @Jorgen – dnuka
这些链接可以帮助你 - http://stackoverflow.com/questions/12906171/iphone-wifi-on-or-off http://stackoverflow.com/questions/7975727/ how-to-check-if-wifi-option-enabled-or-not –
如果您使用的是可达性类,它是哪种类的?它是来自github的Reachability项目吗?因为也有可能检测哪种连接类型可用。还为我们提供更多代码,以便我们可以看到您已经尝试过的内容? –