Eddystone 1.1.4

Eddystone 1.1.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2015 年 9 月
SPM支持 SPM

Tanner Nelson 维护。



Eddystone 1.1.4

Eddystone CocoaPod

用法

要运行示例项目,请克隆仓库,并首先从 Example 目录中运行 pod install

附近

要获取附近的 Eddystone 对象,只需启动扫描器

Eddystone.Scanner.start(self)

然后得到一组附近的对象

Eddystone.Scanner.nearby

要启动扫描器,您需要提供一个 Eddystone.ScannerDelegate 代理,它将在附近对象发生变化时被通知

public protocol ScannerDelegate {
    func eddystoneNearbyDidChange()
}

Eddystone.Scaner.nearby 返回的 Eddystone.Generic 类对象包含从三种 Eddystone 框架类型和基本信标信息收集的多个属性。

信标

public var signalStrength: Beacon.SignalStrength
public var identifier: String

Eddystone-URL

public var url: NSURL?

Eddystone-UID

public var namespace: String?
public var instance: String?
public var uid: String?

Eddystone-TLM

public var battery: Double?
public var temperature: Double?
public var advertisementCount: Int?
public var onTime: NSTimeInterval?

URL 或 UID 特定应用

由于 Eddystone 信标可能广播一个或多个框架类型,因此 Eddystone.Generic 类中的大部分属性都是可选的。如果您的应用程序专用于 Eddystone-URL 或 Eddystone-UID 框架类型,则可以使用以下 Eddystone.Scaner 属性。

注意,这些方法返回的对象具有非可选属性。

URL

通过以下方式获取 Eddystone.Url 对象的数组

Eddystone.Scanner.nearbyUrls

Eddystone.Url 对象有以下属性

public var signalStrength: Beacon.SignalStrength
public var identifier: String
public var url: NSURL

UID

通过以下方式获取 Eddystone.Uid 对象的数组

Eddystone.Scanner.nearbyUids

Eddystone.Uid 对象有以下属性

public var signalStrength: Beacon.SignalStrength
public var identifier: String
public var namespace: String
public var instance: String
public var uid: String

调试

Eddystone 模块的日志在调试您的应用程序时可能很有用。要启用日志,请使用以下行。

Eddystone.logging = true

其他资源

UITableViewExtensions.swift

随着 Eddystone 信标更接近或更远离设备,它们需要在屏幕上重新排列。以下 gist 使重新排列 UITableView 的数据源变得容易。

ExampleViewController: UIViewController, Eddystone.ScannerDelegate {
    var urls = Eddystone.Scanner.nearbyUrls
    var previousUrls: [Eddystone.Url] = []

    func eddystoneNearbyDidChange() {
        self.previousUrls = self.urls
        self.urls = Eddystone.Scanner.nearbyUrls

        self.mainTableView.switchDataSourceFrom(self.previousUrls, to: self.urls, withAnimation: .Top)
    }    
}

https://gist.github.com/tannernelson/6d140c5ce2a701e4b710

信号强度

显示Eddystone对象的相对信号强度可以帮助用户理解他们距离信标有多近。这个cocoapod为您提供了一个iOS 7风格的信号强度视图,您可以在应用程序的任何位置添加此视图。

https://cocoapods.org.cn/pods/SignalStrength

要求

Eddystone使用CoreBluetooth

安装

Eddystone通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod "Eddystone"

示例

Eddystone的cocoapod附带了示例iOS项目,展示了各种方法调用如何在真实应用程序中工作。示例应用程序还包括上述的额外资源。

作者

Tanner Nelson, [email protected]

许可

Eddystone在MIT许可下可用。有关更多信息,请参阅LICENSE文件。