我一直在开发一个应用程序来以编程方式启用/禁用我的 iphone 的 Wi-Fi 接口。我曾尝试在我越狱的 Iphone 4s (iOS 5.1.1) 上使用 Apple 80211(苹果的私人服务)来使其工作。然而,事情并没有像我预期的那样顺利。我可以成功扫描并获取 Wi-Fi 连接状态,但是Apple80211SetPower
启用/禁用 WiFi 的方法似乎不适用于 iOS 5。
正如我从 SBsetting 的 WiFi 切换中发现的那样,它可能还需要更改 WiFi 的系统属性"/var/preferences/systemconfiguration/com.apple.wifi.plist"
。但是,我的应用程序无法更改该文件中的系统属性,我怀疑问题是由文件属性和所有权引起的。因此,我模仿了SBsetting的WiFi切换的文件属性,但它并没有改变任何东西。有谁知道我如何更改此文件的系统属性?这是我使用的代码。谢谢并恭祝安康
NSMutableDictionary *plistDict =
[NSMutableDictionary dictionaryWithContentsOfFile:@"/var/preferences/SystemConfiguration/com.apple.wifi.plist"];
BOOL wifiState = [[plistDict objectForKey:@"AllowEnable"] boolValue];
NSLog(wifiState ? @"Yes" : @"No");
if (value == YES)
{
[plistDict setValue:[NSNumber numberWithBool:YES] forKey:@"AllowEnable"];
[plistDict writeToFile:@"/var/preferences/SystemConfiguration/com.apple.wifi.plist"
atomically: YES];
}
else if (value== NO)
{
[plistDict setValue:[NSNumber numberWithBool:NO] forKey:@"AllowEnable"];
[plistDict writeToFile:@"/var/preferences/SystemConfiguration/com.apple.wifi.plist"
atomically: YES];
}