iOS 10 跳转系统设置

  苦心人天不负, 为了项目终于把 iOS 10 跳转系统设置的方法给搞定了, 很欣慰.

  iOS 10 跳转系统设置的字段

电池电量通用设置存储空间蜂窝数据Wi-Fi 设置蓝牙设置定位设置辅助功能关于手机键盘设置显示设置声音设置App Store 设置墙纸设置打开电话世界时钟闹钟秒表倒计时打开相册

- (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;

}