Beacon Suedtirol - Alto Adige SDK iOS
此存储库包含可用于读取在 Beacon Suedtirol 项目中安装的地球仪的 iOS SDK。
使用
先决条件
- IDE (推荐 XCode 10)
- https://cocoapods.org.cn/ 上的 pod
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 设置所需的更新间隔
在您的 AppDelegate
的 didFinishLaunchingWithOptions
方法中,添加以下行
UIApplication.shared.setMinimumBackgroundFetchInterval(1800)
这将设置更新时间(秒)。例如在这个例子中,30分钟是最小的。
AppDelegate
来调用 SDK 方法以刷新信标
8.3 通过将此方法添加到您的 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