BZBeaconSDK 0.1.9

BZBeaconSDK 0.1.9

Beacon 维护。



 
依赖
KontaktSDK~> 2.0
Alamofire~> 4.3
 

  • KONVERTO AG

Beacon Suedtirol - Alto Adige SDK iOS

此存储库包含可用于读取在 Beacon Suedtirol 项目中安装的地球仪的 iOS SDK。

使用

先决条件

1. 打开您项目的 Podfile

2. 在相关目标中添加以下行(在存储库中查找最新版本,并用 “x.y.z” 替换)

pod 'BZBeaconSDK', '~> x.y.z'

3. 使用您的 IDE 打开 "Your App Name".xcworkspace

4. 让 ViewController 实现 delegate BZBeaconScannerDelegate

class YourViewController: BZBeaconScannerDelegate 

5. 获取并使用 BZNearbyBeaconManager 实例

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

6. 实现您感兴趣的功能,例如

func didDiscoverIBeacon(_ iBeacon: IBeacon) {
    ...
}

7. 构建并启动应用程序

8. (可选)实现后台数据获取

通过在您的应用程序中实现后台数据获取,为您的应用程序用户提供更好的体验。这将定期检查更新的信标信息。通过这样做,您将确保即使在离线状态下,用户也能看到新鲜的数据。

8.1 启用后台拉取功能

选择您的应用目标,在 功能 下,激活 后台模式 -> 后台拉取

8.2 设置所需的更新间隔

在您的 AppDelegatedidFinishLaunchingWithOptions 方法中,添加以下行

UIApplication.shared.setMinimumBackgroundFetchInterval(1800)

这将设置更新时间(秒)。例如在这个例子中,30分钟是最小的。

8.3 通过将此方法添加到您的 AppDelegate 来调用 SDK 方法以刷新信标
  func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

        let manager = BZNearbyBeaconManager.instance
        manager.refreshBeacons() {infos in
            if (infos != -1) {
                if (infos! > 0) {
                    completionHandler(.newData)
                } else {
                    completionHandler(.noData)
                }
            } else {
                completionHandler(.failed)
            }
        }
    }

如果您需要,可以修改此方法,但请始终调用 completionHandler,如本例所示,这对于未来任务调度非常重要!

传入许可证

  • KontaktSDK - Creative Commons Attribution NoDerivs (CC-ND)
  • Alamofire - MIT

传出许可证

参见 LICENSE.md