我可以使用 CBPairingAgent unpairPeer: 从配对中删除蓝牙设备吗
Can I use CBPairingAgent unpairPeer: to remove the bluetooth device from paired
我想从系统设置或 "unpair" 中删除配对的蓝牙设备。我知道苹果不提供 public api 来执行此操作,所以我尝试了 private class CBPairingAgent
。我在 github 上找到了 headers
CBCentralManager.h
CBPairingAgent.h 这是我的代码:
- (void)unpair:(CBPeripheral *)peer {
id agent = [self.centralManager valueForKey:@"sharedPairingAgent"];
// [agent performSelector:@selector(setDelegate:) withObject:self.centralManager];
[agent performSelector:@selector(unpairPeer:) withObject:peer];
}
此代码运行没有错误,但对外围设备也没有任何影响。
有人能指出我正确的方向吗?或者推荐更好的方法
如果进程有足够的权利,用于删除设备配对的私有 API 会起作用,这只能在 JB 设备上实现。
在 JB 上,我添加了这些权利(在设置和 SpringBord 中找到):
- com.apple.BTServer.allowRestrictedServices
- com.apple.BTServer.le
- com.apple.BTServer.programmaticPairing
我想从系统设置或 "unpair" 中删除配对的蓝牙设备。我知道苹果不提供 public api 来执行此操作,所以我尝试了 private class CBPairingAgent
。我在 github 上找到了 headers
CBCentralManager.h
CBPairingAgent.h 这是我的代码:
- (void)unpair:(CBPeripheral *)peer {
id agent = [self.centralManager valueForKey:@"sharedPairingAgent"];
// [agent performSelector:@selector(setDelegate:) withObject:self.centralManager];
[agent performSelector:@selector(unpairPeer:) withObject:peer];
}
此代码运行没有错误,但对外围设备也没有任何影响。
有人能指出我正确的方向吗?或者推荐更好的方法
如果进程有足够的权利,用于删除设备配对的私有 API 会起作用,这只能在 JB 设备上实现。
在 JB 上,我添加了这些权利(在设置和 SpringBord 中找到):
- com.apple.BTServer.allowRestrictedServices
- com.apple.BTServer.le
- com.apple.BTServer.programmaticPairing