gpt4 book ai didi

ios - Eddystone 信标检测问题

转载 作者:搜寻专家 更新时间:2023-10-30 20:15:15 25 4
gpt4 key购买 nike

这是我使用 iPhone iOS 9 检测 Eddystone 的代码:

- (void)viewDidLoad
{
[super viewDidLoad];

if ([CLLocationManager locationServicesEnabled]) {

_locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
[self.locationManager requestAlwaysAuthorization];

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"f7826da6-4fa2-4e98-8024-bc5b71e0893e"];
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:bundleIdentifier];
self.locationManager.allowsBackgroundLocationUpdates = YES;
[self.locationManager startMonitoringForRegion:beaconRegion];
[self.locationManager startRangingBeaconsInRegion:beaconRegion];
[self.locationManager startUpdatingLocation];
}
else {

NSLog(@"location service is disabled");
}
}

- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(nonnull NSArray<CLBeacon *> *)beacons
inRegion:(nonnull CLBeaconRegion *)region
{
NSLog(@"beacons count: %lu", (unsigned long)[beacons count]); // beacons count always "0"
}

我还在 plist 中添加了 NSLocationAlwaysUsageDescription 字段。

问题是它无法检测到任何带有上述代码的 Eddystone 设备。但对于第三方应用程序,它发现效果很好。

adding image proof that it's Eddystone beacon

我做错了什么?

最佳答案

您的代码使用的是 Core Location,它只适用于 iBeacon。您将无法通过这种方式发现 Eddystone 信标。

您需要使用一些与 Eddystone 兼容的 SDK。由于您似乎在使用 Kontakt.io 的信标,您可能想使用他们的 SDK:

http://developer.kontakt.io/ios-sdk/quickstart/#eddystone-support

或者,您可以使用 iOS 的原生 Core Bluetooth 自行实现 Eddystone 扫描。甚至还有一个关于如何做到这一点的示例,可在官方 Eddystone GitHub 存储库中找到:

https://github.com/google/eddystone/tree/master/tools/ios-eddystone-scanner-sample

关于ios - Eddystone 信标检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com