iOS跳转蓝牙

iOS跳转蓝牙设置

[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=****"]]

这个方法审核会被拒绝,那么怎样才能绕过苹果审核呢.
查了网上一些资料,把方法转换成ACSII值进行拼装,调用开启蓝牙的方法.

-(NSString *) getBluetoothMethod{
  NSData *dataOne = [NSData dataWithBytes:(unsigned char []){0x6f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x69,0x74, 0x69,0x76,0x65,0x55,0x52,0x4c} length:16];
  NSString *keyone = [[NSString alloc] initWithData:dataOne encoding:NSASCIIStringEncoding];
  NSData *dataTwo = [NSData dataWithBytes:(unsigned char []){0x77,0x69,0x74,0x68,0x4f,0x70,0x74,0x69,0x6f,0x6e,0x73} length:11];
  NSString *keytwo = [[NSString alloc] initWithData:dataTwo encoding:NSASCIIStringEncoding];
  NSString *method = [NSString stringWithFormat:@"%@%@%@%@",keyone,@":",keytwo,@":"];
  return method;
}

利用ASCII值进行拼装组合方法

-(NSString *) getDefaultWork{
  NSData *dataOne = [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:dataOne encoding:NSASCIIStringEncoding];return method;
 }

开启蓝牙

-(void)setBlueTooth {
  NSString * defaultWork = [self getDefaultWork];
  NSString * bluetoothMethod = [self getBluetoothMethod];
  NSURL*url=[NSURL URLWithString:@"Prefs:root=Bluetooth"];
  Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");  
  [[LSApplicationWorkspace performSelector:NSSelectorFromString(defaultWork)] performSelector:NSSelectorFromString(bluetoothMethod) withObject:url withObject:nil];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天好像没写日记唉,昨天其实画图画到挺晚的。也不是工作上的图,就是在一个交流网站上看到有人发帖说,看看他...
    天空蓝上阅读 1,215评论 0 0
  • 身体发肤,受之父母! 又是一年,你已长大,父母渐老! 请对父母说一句最想说的话! 校长说:妈,您辛苦了!爸,身体第...
    序言序语阅读 3,089评论 0 1
  • 文/西渡桥 大家好,我是西渡桥,我也不知道自己来多久了,反正好久了,断断续续的,但依然在这里。今天首页只有一篇我写...
    西渡桥阅读 3,916评论 2 10
  • “我们不是要喝交杯酒吗?”唐婧淑问道。 赵璟睿笑了,“是要喝交杯酒,但不喝这一壶。”说罢,从怀里取出一壶酒来,给唐...
    九尾猫仙儿阅读 3,576评论 0 0