delphi IOS BLE 代理

代理方法

centralManagerDidUpdateState:

peripheralManagerDidUpdateState:代理方法。

centralManager:willRestoreState

peripheralManager:willRestoreState:代理方法

- (void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary *)state
{
    NSArray *peripherals = state[CBCentralManagerRestoredStatePeripheralsKey];

    // TODO: ...
}

D:Program Files (x86)EmbarcaderoStudio17.0source tl etSystem.Mac.Bluetooth.pas
D:Program Files (x86)EmbarcaderoStudio17.0source tlosxMacapi.Bluetooth.pas

17.0source tl etSystem.Mac.Bluetooth.pas(3481):
    procedure centralManagerDidUpdateState(central: CBCentralManager); cdecl;
    [MethodName('centralManager:willRestoreState:')]

procedure TInternalBluetoothLEManager.centralManagerDidUpdateState(central: CBCentralManager);


delphi在System.Mac.Bluetooth.pas实现了centralManagerDidUpdateState方法

procedure TInternalBluetoothLEManager.centralManagerDidUpdateState(central: CBCentralManager);
begin
  if (central.state = CBCentralManagerStatePoweredOn) and FWaitingToDiscover then
  begin
     FWaitingToDiscover := False;
     central.scanForPeripheralsWithServices(FFilterUUIDList, FScanOptions);
  end;
end;

delphi也实现了 initWithDelegate方法

procedure TInternalBluetoothLEManager.centralManagerWillRestoreState(central: CBCentralManager; dict: NSDictionary);
begin

end;
原文地址:https://www.cnblogs.com/cb168/p/5118030.html