30 lines
857 B
Plaintext
30 lines
857 B
Plaintext
|
|
#import <Foundation/Foundation.h>
|
||
|
|
#import <SystemConfiguration/CaptiveNetwork.h>
|
||
|
|
|
||
|
|
extern "C" {
|
||
|
|
const char* GetWiFiSSID() {
|
||
|
|
NSString *ssid = nil;
|
||
|
|
|
||
|
|
NSArray *interfaces = (__bridge_transfer NSArray *)CNCopySupportedInterfaces();
|
||
|
|
|
||
|
|
for (NSString *interfaceName in interfaces) {
|
||
|
|
NSDictionary *info = (__bridge_transfer NSDictionary *)CNCopyCurrentNetworkInfo((__bridge CFStringRef)interfaceName);
|
||
|
|
|
||
|
|
if (info && info[@"SSID"]) {
|
||
|
|
ssid = info[@"SSID"];
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ssid == nil) {
|
||
|
|
return NULL;
|
||
|
|
}
|
||
|
|
|
||
|
|
const char *utf8String = [ssid UTF8String];
|
||
|
|
char *result = (char *)malloc(strlen(utf8String) + 1);
|
||
|
|
strcpy(result, utf8String);
|
||
|
|
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
}
|