Many developers may find themselves, or have already found themselves, developing an iOS application connecting to a Zebra MFi product via Bluetooth. Before distributing your MFi app through Apple’s Business-2-Business or standard App Store, you will need to register your app with Zebra as per Apple’s requirements. During this step, Zebra will perform a high-level test of your app to ensure stability, proper printed output, and, if present, appropriate Zebra branding.

 

During the testing process, some of the most common issues that come up occur with the stability of the app. We test for three common error cases as follows:

 

  • The printer disconnected from the app
  • The printer is out of media
  • The printer’s media door is open

 

Out of these error cases, the most common issue we see is that the app will crash in the first case. This is typically due to a lack of exception checking. For example, the app may have been connected to the printer, but what happens if the printer loses battery power while connected?

 

Regularly checking the status of the printer is, in general, a best practice that should be a standard procedure. It’s important to test for these error cases so that users have a more seamless experience. App crashes can be frustrating for users and often lead to unnecessarily requiring the user to input information again if it is not saved prior to the app crashing. To bring a more effective user experience to your app, we recommend implementing error messages for each of the mentioned cases above.

 

Below is a list of properties contained in the PrinterStatus class of the API that is a good reference for implementing proper error checking and error messages:

 

printer_status_properties.png

 

You can find the complete iOS API here:

Link-OS SDK - Zebra Technologies Techdocs

 

Not only will your app appear more complete, but this will also make testing during whitelisting a quicker process in order to get your app distributed in a timely manner.

 

With the AMERICAS APPFORUM fast approaching May 9-11 in Las Vegas, our “Link It Up with Link-OS” session will cover these best practices in more depth with code samples. We’ll also discuss many of the latest Link-OS updates that have materialized over the past year or so. These may be helpful in adding useful features to your printing apps.