About the Download

Ti.Estimote is an iOS Hyperloop wrapper of the Estimote SDK.
As described on the Estimote official documentation, this SDK provides a “wide range of both utility and client-facing features that will save time and make iBeacon development easier than ever. It’s built purely on Apple Core Location and Core Bluetooth technologies and is 100% iBeacon compatible.”

You can learn more about Beacon technology on developer portal.

Video

What you’ll find in this module

With this module you will be able monitor all beacons around you or ever an specific beacons you want to track.

The app register two different delegates: “didEnterRegion” and “didExitRegion” and sends a local Notification when the phone trigger those delegates.

Result on a real device (Running iOS 10)

img_2236

Available functions

  • Create Beacon Manager -> It will create an instance of the Estimote SDK to be used by other functions
  • Is Authorized? -> Function shows if the user has allowed the app to monitor beacons.
  • Authorize Notifications -> In order to send Local Notifications the app has to ask the user if he allows it to send them. This function returns a BOOLEAN indicating if the user has allowed the app to send notifications
  • Monitored Regios -> Return a list of regions the app is monitoring
  • Monitor All Beacons -> Starts the service to look for all beacons
  • Monitor Lemon Beacon -> Starts the service to look for an specific beacon.

screen-shot-2016-09-30-at-4-33-42-pm

README

These instructions are being shipped with the module, so you can check later on your README file.

LoopModules – iOS Estimote

Ti.Estimote is an iOS Hyperloop wrapper of the Estimote SDK.
The app register two different delegates: “didEnterRegion” and “didExitRegion” and sends a Local Notification when the phone trigger those delegates.

1 – Requirements

This project uses HyperLoop. We recommend you to read the basics of HyperLoop in the links below before proceeding any further in this README.
iOS: Hyperloop_for_iOS-Programming_Guide
Android: Hyperloop_for_Android_Programming_Guide

HyperLoop does a pretty good job in allowing you to use Objective-C / Swift with Javascript syntax, but that doesn’t mean that you won’t
need to learn Objective-C / Swift if you want to customise the module / create your own. For that reason we highly recommend you to
learn the basics of Objective-C / Swift.
In the long run that will make your job easier, since Objective-C is far from being an easy language to understand at the first sight.

2 – Estimote Requirements

In order to run this project successfully you will need at least one of the Estimote’s beacon. Find them all at their website.
If you want to target an specific beacon, you will have to access their Cloud service and get the UUID, major and minor number.

3 – Environment setup

This module was tested and developed with the following environment:

  • CocoaPods 1.0.1
  • Titanium SDK 6.0.0.v20161101155110
  • HyperLoop 2.0.0
  • XCode 8.1

4 – Creating a HyperLoop-enabled project

  • Create a new Alloy project like you would normally do. (Don’t forget to make this project compatible with Hyperloop)
  • Copy the “Podfile” provided by us to your project’s root folder. DON’T EXECUTE “pod install” (like you would normally do) after this.
    When building your project HyperLoop will automatically resolve the dependencies of the libs/frameworks you referenced in your Podfile.
  • Take a look at the example tiapp.xml file that you’ve received from us. Your tiapp.xml should have the same properties defined in this example
    otherwise you’ll face some issues while building your project later on.
    Don’t forget to change the App GUID in the provided tiapp.xml file to your original App GUID!
  • Copy the controller, styles and view files + the “libs” folder provided with this module to your project’s “/app” folder.

5 – Usage

You’ll find inside this zip file a complete Firebase solution for a number of functionalities.
After creating a Hyperloop-enabled project you can start playing with the files you’ve received.
In the code of this controller we’ve covered the main features of the Estimote SDK, but you can always refer to the original source code and check
the methods/properties that we didn’t use in this example.
After following all the steps above you should have the project up and running without any problems.

Step-by-step

  • First you will have to create an instance of the Estimote SDK by clicking on the button “Create Beacon Manager”;
  • You will need to ask for notifications permissions by clicking on “Authorize Notifications”;
  • Finally you just need to click on the button “Monitor All Beacons” or “Monitor Lemon Beacon”.

Support

One of the things we want to offer you as a reward for joining LoopModules is the ability to contact us to discuss and get help with problems that you may come across.
We’ve tested this module a lot of times and we want to deliver something that will work for everyone (as long as the environments are the same, e.g. SDK, HL version, and so on).
If you come across one of the following:

  • Bugs
  • Suggestions
  • Issues while compiling this module

Feel free to contact us at contact@loopmodules.com.

Demo running with Hyperloop

sep-30-2016-15-54-48