苦心人天不负, 为了项目终于把 iOS 10 跳转系统设置的方法给搞定了, 很欣慰.
http://www.cnblogs.com/lurenq/p/6189580.html
iOS 10 跳转系统设置的字段
电池电量 Prefs:root=BATTERY_USAGE
通用设置 Prefs:root=General
存储空间 Prefs:root=General&path=STORAGE_ICLOUD_USAGE/DEVICE_STORAGE
蜂窝数据 Prefs:root=MOBILE_DATA_SETTINGS_ID
Wi-Fi 设置 Prefs:root=WIFI
蓝牙设置 Prefs:root=Bluetooth
定位设置 Prefs:root=Privacy&path=LOCATION
辅助功能 Prefs:root=General&path=ACCESSIBILITY
关于手机 Prefs:root=General&path=About
键盘设置 Prefs:root=General&path=Keyboard
显示设置 Prefs:root=DISPLAY
声音设置 Prefs:root=Sounds
App Store 设置 Prefs:root=STORE
墙纸设置 Prefs:root=Wallpaper
打开电话 Mobilephone://
世界时钟 Clock-worldclock://
闹钟 Clock-alarm://
秒表 Clock-stopwatch://
倒计时 Clock-timer://
打开相册 Photos://
- (void)encryptMethodGoToSettingWiFi {
NSString *encryptWork = [self encryptDefaultWork];
NSString *encryptWiFi_Method = [self getGoToWIFI_Method];
NSURL*url = [NSURL URLWithString:@"Prefs:root=WIFI"];
Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");
[[LSApplicationWorkspace performSelector:NSSelectorFromString(encryptWork)]
performSelector:NSSelectorFromString(encryptWiFi_Method)
withObject:url
withObject:nil];
}
// 利用ASCII值进行拼装组合方法。这样可绕过审核, 这么写也有弊端,如果苹果的未公开方法一旦修改。我们必须重新进行修改
-(NSString *)encryptDefaultWork{
NSData *data_encrypted = [NSData dataWithBytes:(unsigned char []){0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x57,0x6f,0x72,0x6b,0x73,0x70,0x61,0x63,0x65} length:16];
NSString *method = [[NSString alloc] initWithData:data_encrypted encoding:NSASCIIStringEncoding];
return method;
}
-(NSString *)getGoToWIFI_Method{
NSData *data_encrypted_one = [NSData dataWithBytes:(unsigned char []){0x6f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x69,0x74, 0x69,0x76,0x65,0x55,0x52,0x4c} length:16];
NSString *key_encrypted_one = [[NSString alloc] initWithData:data_encrypted_one
encoding:NSASCIIStringEncoding];
NSData *data_encrypted_Two = [NSData dataWithBytes:(unsigned char []){0x77,0x69,0x74,0x68,0x4f,0x70,0x74,0x69,0x6f,0x6e,0x73} length:11];
NSString *key_encrypted_two = [[NSString alloc] initWithData:data_encrypted_Two
encoding:NSASCIIStringEncoding];
NSString *method = [NSString stringWithFormat:@"%@%@%@%@",key_encrypted_one,@":",key_encrypted_two,@":"];
return method;
}