iMZ320 in iOS:Sometimes getCurrentStatus shows ErrorCode=7


We are trying to retrive printer current status inside a timer in iOS but sometimes we are receiving ErrorCode=7 .


We have done following:


1) First connecting the printer as shown in below sample code and it was successful.


                                   id<ZebraPrinterConnection, NSObject> connection; //It's a global variable

                connection = nil;

                connection = [[MfiBtPrinterConnection alloc] initWithSerialNumber:printerSerialNumber];

                [((MfiBtPrinterConnection*)connection) setTimeToWaitAfterWriteInMilliseconds:60];

                NSError *error = nil;

                BOOL didOpen = [connection open];

                if (didOpen) {

                    zebraPrinter = [ZebraPrinterFactory getInstance:connection error:&error];

                    if(error != nil) {





2) Then inside a timer, we are checking printer status as shown in below code sample:


                 id<ZebraPrinter, NSObject> zebraPrinter;  //It's a global variable

        zebraPrinter = [ZebraPrinterFactory getInstance:connection error:&error];



            PrinterStatus *status = [zebraPrinter getCurrentStatus:&error];

            if (error) {

                //Here SOMETIMES we are getting ErrorCode=7

                Error Domain=ZSDK_API_ERROR_DOMAIN Code=7 "Malformed status response - unable to      determine printer status" UserInfo={NSLocalizedDescription=Malformed status response - unable to determine printer status}




Please note:


- We are using latest zebra sdk (V1.5.1049)

- Printer Model: ZEBRA iMZ320

- iOS version 11.2.1

- We are NOT getting this error very frequently. But the error is there.


We have spend lots of time to find the exact reason (also sequence to re-prouce) of this error. But unable to find any proper solution.

Could you please let us know is there anything we are missing?


In advance thanks,