Swift Watch OS 2:有可能在配对的iPhone和Apple Watch之间获得连接的蓝牙信号强度吗?
标题不言自明。我尝试过CoreBooth,但我不认为Apple Watch是一个连接的外围设备。您需要检查信号电平 您可以使用:Swift Watch OS 2:有可能在配对的iPhone和Apple Watch之间获得连接的蓝牙信号强度吗?,swift,core-bluetooth,watchos-2,Swift,Core Bluetooth,Watchos 2,标题不言自明。我尝试过CoreBooth,但我不认为Apple Watch是一个连接的外围设备。您需要检查信号电平 您可以使用: - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { NSLog
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI {
NSLog(@"Did discover peripheral. peripheral: %@ rssi: %@, UUID: %@ advertisementData: %@ ", peripheral, RSSI, peripheral.UUID, advertisementData);
//Do something when a peripheral is discovered.
rssiLabel.text = [RSSI stringValue];
[manager retrievePeripherals:[NSArray arrayWithObject:(id)peripheral.UUID]];}
这是可能的
使用retrieveConnectedPeripherals(使用services serviceuid:[CBUUID])->[CBPeripheral]
。您需要为serviceUUID指定蓝牙GATT特性。我使用了UUID:“d061e78-BBB4-4591-A5F8-487910AE4366
”。该函数返回一个cbperipal对象,然后可以使用connect(\uperipal:cbperipal,options:[String:Any]?=nil)
连接到该对象
确认您的iOS应用程序已通过
centralManager(uCentral:CBCentralManager,didConnect peripal:cbperipal
)连接到手表后,您可以使用readRSSI()
查找iPhone和Apple Watch之间的信号强度。为什么需要信号强度?@MichałCiuba:要知道它们之间的距离有多远,我不知道watchOS上是否提供了信号强度,或者它是否能满足您的需要,但您可能想看看。