I'm having difficulty managing connection with the UniMag reader in my application integrated with multiple views or else retaining consistent functionality over a period of time. How can I fix this?
The UniMag SDK 7.20 sample source code demonstrates a managed auto-connect while leaving from and returning to the main view. Implementing a Singleton instance of the UniMag class across a multiple view project will enable the reader to be accessed without the established method.
In the main header class of the application, add a static method called sharedController (for example, I am using the fictional class name MainApp):
Then in the main method class of the application, add the code for it, which is a static variable and the sharedController definition:
static volatile uniMag *singletonUnimag = nil;
//Accesses a singleton instance of device class.
static uniMag *SharedInstance = nil;
static dispatch_once_t onceToken;
SharedInstance = [uniMag new];
singletonUnimag = SharedInstance;
Instead of initializing the device as:
unimag* myDevice = [unimag new]; ( or [[unimag alloc] init] )
unimag* myDevice = [MainApp sharedController];
With a singleton, and without any separate activation effort, even on the first time, functions such as ([MainApp sharedController] ReadCardSwipe) may be used.