ZebraPrinterFactory getInstance returns error


Using QLN420 v68.19.13z, Objective C, iOS SDK v1.4.948
I am trying to connect to the printer using Bluetooth.
id thePrinterConn = [[MfiBtPrinterConnection alloc] initWithSerialNumber:discoveredBluetoothPrinter.serialNumber];
BOOL didOpen = [thePrinterConn open];
returns didOpen = YES
when I try
        _connectedPrinter = [ZebraPrinterFactory getInstance:thePrinterConn error:&error];
I get  ZSDK_API_ERROR_DOMAIN Code=3 unable to determine printer language.
Any suggestions here?

Submitted by Aditya Garg on May 04, 2019 Permalink

Someone asked me if and how to solved this finally.
its been 2 months so I don't remember clearly, but I think the trick was to put these lines in a function (say func) and call on a separate thread
[NSThread detachNewThreadSelector:@selector(func:) to Target:self withObject:bluetoothPrinter]

where bluetoothPrinter is a EAAccessory type object.