[iOS] intégration d’un lecteur de carte dans votre application.
mardi 9 septembre 2014Dans ce tutoriel, je vais vous expliquer comment intégrer un lecteur de carte d’identité mais je pense qu’il peut être utile pour intégrer n’importe quel appareil à votre device Apple.
Généralement, il suffit de suivre les instructions du sdk pour l’intégration.
Mais avec des appareils extérieurs à « pluger » sur votre device Apple, il faut aussi définir le manufacture pour reconnaître et communiquer avec l’appareil (protocole).
Il faut donc inclure le framework: ExternalAccessory.framework et définir dans le manufacture dans le plist:Supported external accessory protocols
Voici la mise en place d’un lecteur de carte d’identité de Zetes:
Il faut aussi inclure les framework suivants:
Dans ce cas-ci, il faut aussi ajouter un « other link flag » dans Build Settings
Il faut aussi inclure le fichier EidReader.h et faire un import dans le fichier .h
#import "EidReader.h" #import "Util.h"
Dans le .m, un exemple d’appel
self.eidReader = [[EidReader alloc] init]; int iRet = [self.eidReader open]; UIAlertView *alert = [[UIAlertView alloc] init]; BOOL abortReadCard = FALSE; switch (iRet){ case E_READER_NOT_SUPPORTED: [alert setTitle:@"Reader not supported"]; [alert setMessage:@"Your reader is not supported by eID-SDK"]; [alert addButtonWithTitle:@"Close"]; [alert show]; self.eidReader = nil; break; case E_READER_NOT_PRESENT: [alert setTitle:@"No Reader attached"]; [alert setMessage:@"Please attach reader and insert your eID"]; [alert addButtonWithTitle:@"Close"]; [alert show]; self.eidReader = nil; break; case E_CARD_NOT_PRESENT: [alert setTitle:@"No card inserted"]; [alert setMessage:@"Please insert your eID"]; [alert addButtonWithTitle:@"Close"]; [alert show]; self.eidReader = nil; break; case E_CARD_NOT_SUPPORTED: [alert setTitle:@"Card unsupported"]; [alert setMessage:@"Please insert valid eID and in the correct orientation"]; [alert addButtonWithTitle:@"Close"]; [alert show]; self.eidReader = nil; break; default: if (!abortReadCard){ textfield_firstname.text = self.eidReader.firstName; textfield_lastname.text = self.eidReader.lastName; textfield_street.text = self.eidReader.address; textfield_zip.text = self.eidReader.postalCode; textfield_city.text = self.eidReader.municipality; } } [self.eidReader close];