Code Monkey home page Code Monkey logo

ios-sdk's Introduction

EstimoteSDK for iOS 7

Introduction

Estimote SDK allows you to play with Apple's iBeacon technology using Estimote hardware beacons, as well as Estimote Virtual Beacon iOS Application. To learn more, read the API section on our website. You can review SDK documentation and check our Community Portal to get the answers for the most common questions related to our Hardware and Software.

Overview

Estimote SDK is a wrapper around Apple's CoreLocation framework. The SDK requires iOS 7, as it is based on the recently introduced CoreLocation framework functionality called iBeacon. It consists of 3 classes: ESTBeaconManager, ESTBeaconRegion and ESTBeacon. Each Estimote SDK class has a corresponding CoreLocation class (CLLocationManager, CLBeaconRegion, CLBeacon) created specifically for the Estimate Beacons Platform.

ESTBeaconManager is the starting point of the library. It allows you to get a list of all Estimote beacon devices (represented by ESTBeacon objects). It exposes monitoring and ranging methods in a similar fashion to CLLocationManager. In addition to location functionality, it allows you to get a list of beacons based on the CoreBluetooth framework. It is extremely important to have this possibility in case the device stops advertising in an iBeacon manner.

ESTBeaconRegion directly extends the CLBeaconRegion class of the CoreLocation framework, as the Estimote Beacon Platform uses single ProximityUUID. This class helps with creating the region object faster. You don't need to manually manage the ProximityUUID parameter.

ESTBeacon represents a single beacon device. Objects of this class are generated using ESTBeaconManager (There is no point in creating them manually). The most important difference, compared to CLBeacon class, is two way communication with the beacon device. Keeping reference to the original CLBeacon object allows you to connect with the device and interact with it. All available bluetooth characteristics, like signal power or major/minor value, can be read and changed to create a customized behavior. The firmware update option is available using this class as well.

Installation

The easiest way to intall is to use CocoaPods. It takes care of all the required frameworks and third party dependencies:

pod 'EstimoteSDK'

Alternatively, you can install it manually. Follow the steps described below:

  1. Copy the EstimoteSDK directory (containing libEstimoteSDK.a and Headers) into your project directory.

  2. Open your project settings and go to the "Build Phases" tab. In the Link library with binaries section click "+". In the popup window click "add another" at the bottom and select the libEstimoteSDK.a library file.

In addition, the EstimoteSDK requires the following native iOS frameworks:

  • CoreBluetooth.framework
  • CoreLocation.framework
  • SystemConfiguration.framework

When you add them to your project settings, it should look like on the screenshot below.

ScreenShot LinkWithBinaryLibraries

  1. Go to the "Build Settings" section of project settings and search for "Header Search Paths". Add a line containing "$(SRCROOT)/../EstimoteSDK/Headers".

  2. You are done, congratulations! Happy tinkering!

Changelog

To see what has changed in recent versions of Estimote SDK, see the CHANGELOG.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.