6.7 Sample Project Tutorial 29
• Implement protocol delegate IDT_NEO2Delegate::deviceDisconnected() and IDT_NEO2Delegate::device←-
Connected() to monitor connect/disconnect events and modify our connection label upon change.
Reference: Implement optional delegate protocols
-(void) deviceConnected{
[connectedLabel setText:@"NEO2 CONNECTED"];
}
-(void) deviceDisconnected{
[connectedLabel setText:@"NEO2 DISCONNECTED"];
}
• Implement protocol delegate swipeMSRData:() to receive card swipe data. Reference: Implement optional
delegate protocols
-(void) appendMessageToResults:(NSString
*
) message{
[logTextView setText:[NSString stringWithFormat:@"%@\n====================\n%@",message, self.
logTextView.text]];
}
- (void) swipeMSRData:(IDTMSRData
*
)cardData{
NSLog(@"--MSR event Received, Type: %d, data: %@", cardData.event, cardData.encTrack1);
switch (cardData.event) {
case EVENT_MSR_CARD_DATA:
{
switch (cardData.captureEncodeType) {
case CAPTURE_ENCODE_TYPE_ISOABA:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"ISO/ABA"]
];
break;
case CAPTURE_ENCODE_TYPE_AAMVA:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"AA/MVA"]]
;
break;
case CAPTURE_ENCODE_TYPE_Other:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"Other"]];
break;
case CAPTURE_ENCODE_TYPE_Raw:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"Raw"]];
break;
case CAPTURE_ENCODE_TYPE_JIS_I:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"
CAPTURE_ENCODE_TYPE_JIS_I"]];
break;
case CAPTURE_ENCODE_TYPE_JIS_II:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"
CAPTURE_ENCODE_TYPE_JIS_II"]];
break;
default:
[self appendMessageToResults:[NSString stringWithFormat:@"Encode Type: %@", @"UNKNOWN"]
];
break;
}
switch (cardData.captureEncryptType) {
case CAPTURE_ENCRYPT_TYPE_AES:
[self appendMessageToResults:[NSString stringWithFormat:@"Encrypt Type: %@", @"AES"]];
break;
case CAPTURE_ENCRYPT_TYPE_TDES:
[self appendMessageToResults:[NSString stringWithFormat:@"Encrypt Type: %@", @"TDES"]];
break;
case CAPTURE_ENCRYPT_TYPE_NO_ENCRYPTION:
[self appendMessageToResults:[NSString stringWithFormat:@"Encrypt Type: %@", @"NONE"]];
break;
default:
[self appendMessageToResults:[NSString stringWithFormat:@"Encrypt Type: %@", @"UNKNOWN"
]];
break;
}
[self appendMessageToResults:[NSString stringWithFormat:@"Full card data: %@", cardData.
cardData]];
[self appendMessageToResults:[NSString stringWithFormat:@"Track 1: %@", cardData.track1]];
[self appendMessageToResults:[NSString stringWithFormat:@"Track 2: %@", cardData.track2]];
[self appendMessageToResults:[NSString stringWithFormat:@"Track 3: %@", cardData.track3]];
IDTech iOS SDK Guide for NEO2 #80152802-001