Latest 0.1.4
License MPL 2.0
Platforms ios 11.0
Dependencies KontaktSDK, Alamofire

Beacon Suedtirol – Alto Adige SDK iOS

This repository contains the mobile iOS SDK that can be used in order to read the beacons installed within the Beacon Suedtirol project.



  • IDE (XCode 10 recommended)
  • pod (you can get it from

    1. Open the pod file of your project

    2. Add the following line to relevant targets

    pod 'BZBeaconSDK', '~> 0.0.1'

    3. Open "Your App Name".xcworkspace with your IDE

4. Let your ViewController implement the delegate BZBeaconScannerDelegate

class YourViewController: BZBeaconScannerDelegate 

5. Get and use an instance of the BZNearbyBeaconManager

let manager = BZNearbyBeaconManager.instance
manager.setBeaconScannerDelegate(beaconScannerDelegate: self)

6. Implement the functions you’re interested in, for example:

func didDiscoverIBeacon(_ iBeacon: IBeacon) {

7. Build and Launch the App

8. (Optional) Implement a background data fetch

Offer a better experience to your app users by implementing a background data fetch in your app. This will check periodically for updated beacon infos. By doing so, you ensure that your users will always see fresh data, even when they are offline.

8.1 Enable the background fetch capability

Select your app target, and under Capabilities, activate Background Modes -> Background fetch

8.2 Set the desired update interval

In the didFinishLaunchingWithOptions method of your AppDelegate, add the following line:


This sets the update in seconds. 30 Minutes as in this example is the minimum.

8.3 Call the SDK method to refresh beacons by adding this method to your AppDelegate:
  func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

        let manager = BZNearbyBeaconManager.instance
        manager.refreshBeacons() {infos in
            if (infos != nil) {
                if (infos! > 0) {
                } else {
            } else {

You can modify this method if you need, but always call the completionHandler as in this example since this is important for future scheduling of the task!

Latest podspec

    "name": "BZBeaconSDK",
    "version": "0.1.4",
    "summary": "SDK for the Beacon Suedtirol - Alto Adige Project",
    "description": "Find nearby beacons of the Beacon Suedtirol - Alto Adige Project, and get all relevant information about them",
    "homepage": "",
    "license": "MPL 2.0",
    "authors": {
        "Konverto AG": "[email protected]"
    "platforms": {
        "ios": "11.0"
    "source": {
        "git": "",
        "tag": "0.1.4"
    "source_files": [
        "Beacon SDK iOS",
        "Beacon SDK iOS/**/*.swift"
    "resources": "Beacon SDK iOS/Beacon.xcdatamodeld",
    "exclude_files": "Classes/Exclude",
    "swift_versions": "4.2",
    "dependencies": {
        "KontaktSDK": [
            "~> 2.0"
        "Alamofire": [
            "~> 4.3"
    "swift_version": "4.2"

Pin It on Pinterest

Share This