我正在尝试构建一个埃迪斯通信标扫描仪。我已经安装了Eddystone框架,这很好。但是我不知道我的信标有哪个命名空间。
我从商店中安装了一个名为" EbeAcon"的应用程序,在那里我成功地扫描了我的信标。他们给我ID:051674047A2B7D9D0A6F96BAEE9DBC3B
// filter by namespace
let namespaceUID = ESTEddystoneUID(namespaceID: "051674047A2B7D9D0A6F")
let namespaceFilter = ESTEddystoneFilterUID(namespaceID: "051674047A2B7D9D0A6F")
self.eddystoneManager.startEddystoneDiscovery(with: namespaceFilter)
// filter by namespace and instance
let namespaceInstanceUID = ESTEddystoneUID(namespaceID: "051674047A2B7D9D0A6F",
instanceID: "96BAEE9DBC3B")
let namespaceInstanceFilter = ESTEddystoneFilterUID(namespaceID: "051674047A2B7D9D0A6F96BAEE9DBC3B")
self.eddystoneManager.startEddystoneDiscovery(with: namespaceInstanceFilter)
// filter by URL
let urlFilter = ESTEddystoneFilterURL(url: "http://www.wellcoressd.com")
self.eddystoneManager.startEddystoneDiscovery(with: urlFilter)
// filter by domain name
let domainNameFilter = ESTEddystoneFilterURLDomain(urlDomain: "my.restaurant.com")
self.eddystoneManager.startEddystoneDiscovery(with: domainNameFilter)
func eddystoneManager(manager: ESTEddystoneManager, didDiscover eddystones: [ESTEddystone], with eddystoneFilter: ESTEddystoneFilter?) {
print("yes")
// ...
}
eddystone-uid名称空间ID应为10个字节,实例ID 6字节。
您在问题中显示的值051674047A2B7D9D0A6F96BAEE9DBC3B是16个字节,所以我怀疑这是两个标识符的组合。如果这是正确的:
namespace id: 051674047A2B7D9D0A6F
instance id: 96BAEE9DBC3B
您可以尝试使用我的免费定位应用程序,该应用程序将扫描Eddystone UID信标,并分别向您展示名称空间和实例标识符。
https://itunes.apple.com/us/app/locate-beacon/id738709014?mt=8