Category Archives: BLE

Tab Order difficulties with IQKeyboardManager

By | BLE, iOS, XCode | No Comments

I *Love* IQKeyboardManager, but I was having a rough time figuring out why my “tab order” on a view with multiple UITextFields seemed incorrect.  When pressing the “>”  and “<”  buttons that IQKeyboardManager adds to the standard keyboard, the right UITextFields where not being selected, in order.

It took me a while to find a fix, but it turns out if you look at your “Scene” listing for the Storyboard, you can reorder the UITextFields (see image below).

IQKeyboardManager, ios, xcode, swift

Setting tab order with IQKeyboardManager

Once you get them in the right order (by clicking and dragging the field names to the left of the red arrows shown above), your tab order should work correctly.

Are you having issues with IQKeyboardManager, or maybe just love it to death (like I do)?  Let us know in the comment section below!

Rock Solid Unique IDs (using StickNFind tags)

By | BLE | No Comments

The BLEvolve application Asset Beacon requires rock-solid unique identification in order to function. Believe it or not, unique identification is one of the most common stumbling points for engineers beginning to work with the StickNFind API. Below I will lay out some guidelines that we have found during the development of Asset Beacon that we circulate internally:

1. Forget about the “Name” field.

StickNFinds API provides a “Name” field, as part of the LeSnfDevice object (this represents a single tag, in code); However, there is (from what we can tell…) no way to change this using the API. D’oh! So what you should do is….

2. Start using the “User Data” fields

There are 3 User data fields exposed by the API. These can be wrote after a connection to the tag is made. Which reminds me…

3. Pay attention to what can be done after a “scan” and what requires a “connect”

If you aren’t familiar, for now all you need to know is that a scan typically will take longer than a connect. This can have serious consequences for how you architect your solution. It typically takes us (with low interference) a few seconds to scan a few hundred tags, while connecting to 100 tags reliably en masse – while something we have done when required – will cause a much longer delay.

4. You may want to have a visual indication of connection state to the tags included in your app

This is mostly useful for testing and tweaking performance of the app. It is also useful to give users a better idea of when they can ring (turn on the lights and musical chime), write, and read temp and battery data from the tags.

5. You will need to Connect to a tag to ring, write, and read temp and battery data

Weigh this together with what I said above regarding the time it takes to scan vs connect.

Thanks for reading, and best of luck. If you at any time need a world-class consultancy for (paid per-project/install or hourly) consulting, please do not hesitate to contact us at BLEvolve – we have staff on call to answer your inquiry.

BLE vs. RFID for unique identification

By | BLE, RFID | No Comments

Imagine yourself in a room with just your phone. Imagine that you could open an interface that would instantly inventory all of the items in the room, and allow you to “page” that object – ringing an alarm on that item. Now, imagine that you could know at any given time – automatically – when items have moved locations. This is the scenario we at BLEvolve achieve using our AssetBeacon BLE-based tagging, tracking and locationing software.
Read More