Aplicación con Swift 4.1 que identifica las zonas mediante iBeacons

2
2244

Índice de contenidos


1. Introducción

En este tutorial vamos a aprender a crear una aplicación capaz de detectar las diferentes zonas preestablecidas mediante
las balizas iBeacons. Se trata del Kit Kontakt iBeacon de Apple, compuesto por 5 balizas que emiten una señal bluetooth de
baja energía. Cada uno tiene 3 parámetros importántes: UUID , Major y Minor.

  • UUID: Identificador único universal de un iBeacon
  • Major: Identificador de un subgrupo de iBeacons
  • Minor: Identificador específico de un iBeacon


2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware:
    • Portátil MacBook Pro 15’ (2.3 GHz Intel Core i7, 16GB DDR3)
    • iPhone 6S 4.7’ (Chip A9, 2GB RAM)
  • Sistema Operativo:
    • Mac OS High Sierra 10.13.4
    • OS 11.3
  • Entorno de desarrollo: Xcode 9.4 beta


3. Petición de permisos de localización

Es importante informar y requerir el permiso de localización al usuario, y para ello debemos añadir dos parámetros más
en la lista de «Info.plist».

  • Privacy – Location Always and When In Use Usage Description
  • Privacy – Location When In Use Usage Description


4. Creación de interfaz

En el fichero de «Main.storyboard», agregamos 3 «Image View» y nombramos cada una con una letra.

Debería de tener este aspecto:

Debemos importar la librería CoreLocation y además implementar el protocolo CLLocationManagerDelegate en la clase
«ViewController.swift». Vamos a declarar un locationManager para utilizarlo poseteriormente en la petición de permisos
y el escaneo de iBeacons. El código quedaría así:

ViewController.swift


5. Creación de una región en base a los datos de los iBeacons

Creamos un método encargado de asignar los valores específicos de nuestro kit de iBeacons. Para saber estos datos hay que
entrar al Panel Kontak en el enlace: https://panel.kontakt.io/signin
en el cual, anteriormente, se haya registrado el producto.

En este ejemplo, únicamente necesitaremos el UUID del kit, y el valor de Major de cada iBeacon.
Finalmente comenzará el escaneo en la región definida.


6. Lanzamiento del escaneo de iBeacons

Lo siguiente, es implementar el método locationManager, para verificar si el usuario ha concedido los permisos de localización
y llamar al método anterior.


6. Identificación de zonas

Por último, queda instalar la aplicación, distribuir los iBeacons y probar la aplicación. El aspecto final:


6. Conclusiones

Si bien es cierto que, la tecnología basada en iBeacons es útil y atractiva, ya que requiere de pocas herramientas para
su funcionamiento, hay que destacar que la precisión en el cálculo de la distancia entre el teléfono y las balizas
deja mucho que desear. Por lo tanto, no debe estar destinado a un uso que requiera exactitud.

2 Comentarios

  1. Excelente tu aporte muchas gracias, me ha sido de la mejor ayuda.

    ahora tengo el siguiente problema…. como hacer que la app siga ejecutándose todo el tiempo,
    cuando cuambio de app y cuando bloqueo la pantalla.

  2. La aplicación me corre excelente pero ahora supongamos que cambio de app o bloqueo la pantalla y entro a una zona nueva requiero que la app siga ejecutandose, he logrado hacer que envie notificaciones pero siempre lo hace mientras esta activa… pleas ayuda!!!

Dejar respuesta

Please enter your comment!
Please enter your name here