Disconnecting Readers

In disconnected readers it is likely that the appropriate reader events should be subscribed to. It is best practice to assert that a reader is connected before proceeding so users aren't confused by erroneous messages.

With an audio jack reader:

if ( CardReaderController.isCardReaderConnected() && CardReaderController.getConnectedReader().getConnectionMethod() == CardReader.ConnectionMethod.AUDIO ) { // instruct user to physically disconnect device } else { // indicate no audio device detected }
- (IBAction)disconnectReader:(id)sender { [[ANPCardReaderController sharedController] subscribeOnCardReaderError:^(ANPMeaningfulError * _Nullable error) { NSLog(@"OnCardReaderError --> %@", error); [self appendText:[NSString stringWithFormat:@"\n\nOnCardReaderError %@", error.message]]; }]; [[ANPCardReaderController sharedController] subscribeOnCardReaderDisConnected:^{ NSLog(@"OnCardReaderDisConnected"); [self appendText:@"\n\n OnCardReaderDisConnected"]; }]; [[ANPCardReaderController sharedController] disconnectReader]; }

With a bluetooth reader:

if ( CardReaderController.isCardReaderConnected() && cardReader.getConnectionMethod() == CardReader.ConnectionMethod.BLUETOOTH) { // indicate bluetooth disconnection in progress cardReaderController.disconnectReader(); } else { // indicate no bluetooth reader connected }
- (IBAction)disconnectReader:(id)sender { [[ANPCardReaderController sharedController] subscribeOnCardReaderError:^(ANPMeaningfulError * _Nullable error) { NSLog(@"OnCardReaderError --> %@", error); [self appendText:[NSString stringWithFormat:@"\n\nOnCardReaderError %@", error.message]]; }]; [[ANPCardReaderController sharedController] subscribeOnCardReaderDisConnected:^{ NSLog(@"OnCardReaderDisConnected"); [self appendText:@"\n\n OnCardReaderDisConnected"]; }]; [[ANPCardReaderController sharedController] disconnectReader]; }