iOS 开发:判断蜂窝网络和 Wi-Fi 网络权限 (Objective-C 代码)
以下是使用 Objective-C 代码判断是否打开蜂窝网络权限和判断 Wi-Fi 网络权限的示例:
判断是否打开蜂窝网络权限:
#import <CoreTelephony/CTCellularData.h>
- (BOOL)isCellularDataEnabled {
CTCellularData *cellularData = [[CTCellularData alloc] init];
CTCellularDataRestrictedState state = cellularData.restrictedState;
if (state == kCTCellularDataNotRestricted || state == kCTCellularDataRestrictedStateUnknown) {
return YES; // 蜂窝网络权限已开启
} else {
return NO; // 蜂窝网络权限未开启
}
}
判断 Wi-Fi 网络权限:
#import <SystemConfiguration/CaptiveNetwork.h>
- (BOOL)isWiFiEnabled {
NSArray *interfaces = (__bridge_transfer NSArray *)CNCopySupportedInterfaces();
NSDictionary *info = nil;
for (NSString *interfaceName in interfaces) {
info = (__bridge_transfer NSDictionary *)CNCopyCurrentNetworkInfo((__bridge CFStringRef)interfaceName);
if (info && [info count]) {
break;
}
}
if ([info objectForKey:@'SSID']) {
return YES; // Wi-Fi 网络权限已开启
} else {
return NO; // Wi-Fi 网络权限未开启
}
}
请注意,这些代码只能检查用户是否开启了蜂窝网络权限和 Wi-Fi 网络权限,但无法直接打开或关闭这些权限。若要请求用户开启或关闭这些权限,您需要使用对应的系统 API,例如使用 CTCellularData 请求蜂窝网络权限或使用 NEHotspotConfigurationManager 请求 Wi-Fi 网络权限。
原文地址: https://www.cveoy.top/t/topic/o7DO 著作权归作者所有。请勿转载和采集!