iOS 9.0 以后,应该使用 NEHotspotHelper 来处理 CaptiveNetwork。但我想在 iOS9 之前获得一些兼容性。所以我做旧的方式。
设备:iphone6 iOS版本:9.3.9
我的代码如下:
+ (void)registerNetwork:(NSString *)ssid{
NSString *values[] = {ssid};
CFArrayRef arrayRef = CFArrayCreate(kCFAllocatorDefault,(void *)values,
(CFIndex)1, &kCFTypeArrayCallBacks);
if( CNSetSupportedSSIDs(arrayRef)) {
NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
CNMarkPortalOnline((__bridge CFStringRef)(ifs[0]));
NSLog(@"registerNetwork %@ success!", ifs);
}else{
NSLog(@"registerNetwork failed!");
}
}