All Projects → nicktoumpelis → Hibeacons

nicktoumpelis / Hibeacons

Licence: mit
An iBeacons example app for iOS 10, with Apple Watch (watchOS 3.0) support, written in Swift 3.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Hibeacons

IoT-iBeacon
An Ionic app for indoor localization and navigation using BLE iBeacons.
Stars: ✭ 39 (-96.62%)
Mutual labels:  bluetooth, ibeacon
Bluetoothlinux
Pure Swift Linux Bluetooth Stack
Stars: ✭ 149 (-87.08%)
Mutual labels:  ibeacon, bluetooth
Pulsator
Pulse animation for iOS
Stars: ✭ 1,238 (+7.37%)
Mutual labels:  ibeacon, bluetooth
Androidblemanager
android BLE device scan and connect manager
Stars: ✭ 174 (-84.91%)
Mutual labels:  ibeacon, bluetooth
PiBeacon
Low-cost iBeacon using Raspberry Pi
Stars: ✭ 41 (-96.44%)
Mutual labels:  bluetooth, ibeacon
Blueswift
Swift framework for easy connection with Bluetooth peripherals.
Stars: ✭ 88 (-92.37%)
Mutual labels:  iphone, bluetooth
Reactivebeacons
Android library scanning BLE beacons nearby with RxJava
Stars: ✭ 171 (-85.17%)
Mutual labels:  ibeacon, bluetooth
ios
CoThings's iOS application. CoThings is a realtime counter for shared things.
Stars: ✭ 13 (-98.87%)
Mutual labels:  bluetooth, ibeacon
Eaze
iOS Cleanflight Configurator
Stars: ✭ 8 (-99.31%)
Mutual labels:  iphone, bluetooth
Gjlightbluetooth
自己封装的基于CoreBluetooth的蓝牙开发库,内附CoreBluetooth使用demo。数据传递基本上使用Block,还使用了Runtime等技术。
Stars: ✭ 50 (-95.66%)
Mutual labels:  bluetooth
Apple Family
A simple framework that brings Apple devices together - like a family
Stars: ✭ 59 (-94.88%)
Mutual labels:  bluetooth
Bluetoothstudy
android 传统蓝牙开发实践,详细开发步骤参考博客: http://blog.csdn.net/qiao_jim/article/details/73008695
Stars: ✭ 46 (-96.01%)
Mutual labels:  bluetooth
Imbmw
BMW iBus .NET MF SDK and hardware
Stars: ✭ 50 (-95.66%)
Mutual labels:  bluetooth
Tastysnake
A two-player (Bluetooth) game on Android.
Stars: ✭ 61 (-94.71%)
Mutual labels:  bluetooth
Cardkit
iOS 11 cards in Swift
Stars: ✭ 47 (-95.92%)
Mutual labels:  iphone
React Native Esc Pos
A React Native ESC/POS module to help you connect to your ESC/POS printer easily.
Stars: ✭ 65 (-94.36%)
Mutual labels:  bluetooth
Potato Library
Easy to use Utility library for Android
Stars: ✭ 45 (-96.1%)
Mutual labels:  bluetooth
Eclipse Smarthome Bluetooth Binding
Eclipse SmartHome Bluetooth Binding
Stars: ✭ 44 (-96.18%)
Mutual labels:  bluetooth
Espnetv2 Coreml
Semantic segmentation on iPhone using ESPNetv2
Stars: ✭ 66 (-94.28%)
Mutual labels:  iphone
Node Web Bluetooth
Web Bluetooth API and interactive device picker for node.js
Stars: ✭ 64 (-94.45%)
Mutual labels:  bluetooth

HiBeacons

A Swift 3 demo app for the iBeacons API in iOS 10, with Apple Watch support (watchOS 3.0)

HiBeacons is a fully functional demo app for the iBeacons API in iOS 10, updated for Swift 3. The app can be used to demonstrate beacon region monitoring, advertising and ranging, simply by toggling on/off three switches in the UI, or the accompanying Apple Watch app.

The apps implement a basic interface for starting all the operations from the iPhone and the Apple Watch, but the state of the various beacon operation can only be seen in the phone. (The watch app acts as a simple* remote).

The source is easy to understand and modify. The structure of the app is based on a simple hierarchy of operation classes. There are three NATOperation subclasses, each responsible of a specific operation: NATMonitoringOperation, NATAdvertisingOperation, and NATRangingOperation. The app is easy to use with any given proximity UUID and identifier, which can be changed in NATOperation.

The app is fully documented, using the reStructuredText standard, which SourceKit can parse.

The main branch of the project is the swift branch, but you can still find the old Objective-C code at the obj-c branch. Note that the old branch has some bugs, that I have fixed in the new one.

The app is fully documented, and should work well with Xcode 8, iOS 10, and watchOS 3.

Screenshots

Phone-Screenshot

Watch-Screenshot

Notes

  • The UI shows only a small number of alerts, when major issues occur. To understand the process better, you can easily follow the Console logs.
  • Monitoring works also when the app is in the background. You will get a local notification when entering the specified beacon region.
  • The app can only monitor and range a single beacon region. (It can easily be extended for multiple, but not for any beacon region. Apple only allows for specific UUIDs to be monitored or ranged.)
  • With advertising turned on, the app will show itself as a beacon on other instances of the app, or other beacon apps, running on other devices. It cannot range or monitor itself. (It's how the iBeacon API works.)
  • Major and minor integers are generated randomly every time a new advertising session starts.
  • You can find and set the UUID and identifier for the region in NATOperation.swift.

* The Watch app can trigger actions on and can reflect the state of the app on the phone, but will not accept state change in the background. The same applies vice-versa, i.e. the Watch app will be unable to operate on the app when it's backgrounded.

Contact

Nick Toumpelis (@nicktoumpelis)

Licence

HiBeacons is available under the MIT licence. See the LICENCE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].