cancelPeripheralConnection:
должно работать.
Когда вы подключаетесь к периферийному устройству (устройству Bluetooth), вероятно, вы делаете это в:
- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
[centralManager connectPeripheral: peripheral
options: nil];
}
Важно сделать это, сохраняя peripheral
и centralManager
как @property:
@property (nonatomic,strong) CBPeripheral *connectingPeripheral;
@property (nonatomic,strong) CBCentralManager *centralManager;
Потом:
- (void)viewDidLoad
{
[super viewDidLoad];
//Starting Up a Central Manager
self.centralManager = [[CBCentralManager alloc] initWithDelegate:self
queue:nil
options: nil];
}
А также:
- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
self.connectingPeripheral = peripheral;
[centralManager connectPeripheral: self.connectingPeripheral
options: nil];
}
Затем, когда соединение успешно установлено, объект центрального менеджера вызывает: centralManager:didConnectPeripheral:
После этого вы можете вызвать свой код:
[self.centralManager cancelPeripheralConnection:self.connectingPeripheral];
person
Gabriel.Massana
schedule
31.03.2014