Swift Watch OS 2:有可能在配对的iPhone和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

标题不言自明。我尝试过CoreBooth,但我不认为Apple Watch是一个连接的外围设备。

您需要检查信号电平

您可以使用:

- (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上是否提供了信号强度,或者它是否能满足您的需要,但您可能想看看。