iOS 9.0之后,它应该使用NEHotspotHelper来处理captivenet。但我想在iOS9之前得到一些兼容性。所以我用老方法。
设备:iphone6iOS版本: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!");
}
}
我解决了这个问题。9.0之后就不可能成功了只要表现正确。