Skip to content

Instantly share code, notes, and snippets.

@enigmaticape
Created May 21, 2014 21:22
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save enigmaticape/4e8d467571680a3bf774 to your computer and use it in GitHub Desktop.
Save enigmaticape/4e8d467571680a3bf774 to your computer and use it in GitHub Desktop.
#import <Foundation/Foundation.h>
#import <ifaddrs.h>
#import <net/if.h>
#import <SystemConfiguration/CaptiveNetwork.h>
@interface SMTWiFiStatus : NSObject
- (BOOL) isWiFiEnabled;
- (BOOL) isWiFiConnected;
- (NSString *) BSSID;
- (NSString *) SSID;
@end
@implementation SMTWiFiStatus
- (BOOL) isWiFiEnabled {
NSCountedSet * cset = [NSCountedSet new];
struct ifaddrs *interfaces;
if( ! getifaddrs(&interfaces) ) {
for( struct ifaddrs *interface = interfaces; interface; interface = interface->ifa_next) {
if ( (interface->ifa_flags & IFF_UP) == IFF_UP ) {
[cset addObject:[NSString stringWithUTF8String:interface->ifa_name]];
}
}
}
return [cset countForObject:@"awdl0"] > 1 ? YES : NO;
}
- (NSDictionary *) wifiDetails {
return
(__bridge NSDictionary *)
CNCopyCurrentNetworkInfo(
CFArrayGetValueAtIndex( CNCopySupportedInterfaces(), 0)
);
}
- (BOOL) isWiFiConnected {
return [self wifiDetails] == nil ? NO : YES;
}
- (NSString *) BSSID {
return [self wifiDetails][@"BSSID"];
}
- (NSString *) SSID {
return [self wifiDetails][@"SSID"];
}
@end
@alirp88
Copy link

alirp88 commented Aug 24, 2016

I created a pod base on this gist
SMTWiFiStatus

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment