【问题标题】:iBeacon not detected in demo application of SENSORO在 SENSORO 的演示应用程序中未检测到 iBeacon
【发布时间】:2015-03-26 01:05:38
【问题描述】:

我正在尝试创建一个可以检测信标的应用程序。我已经购买了 SENSORO 信标。我按照 SENSORO iOS SDK guide 的说明进行操作。

问题是它不起作用,是的,我当然已经与 SENSORO 应用商店应用程序进行了交叉验证,并且同一设备可以检测到三个 SENSORO iBeacon。

奇怪的是,即使是网站上列出的相同演示示例也不起作用。

  1. SBK Demo
  2. Yunzi iOS

以上示例是使用 SENSORO SDK for iOS 的指南。

我尝试了正常的检测 iBeacons 的方法,但仍然无法成功。是的,用于配置 iBeacon 的 SENSORO 应用商店应用程序能够识别具有相同设备的信标 (SENSORO Beacon Utility)。

临时资料有什么关系吗?我正在使用我的另一个项目的临时配置文件。

代码:

#import "ViewController.h"
#import "SBKBeacon.h"
#import "SBKBeaconManager.h"
#import "SBKBeaconManager+Cloud.h"

@interface ViewController () <SBKBeaconManagerDelegate>

@property (nonatomic, strong) SBKBeaconID           *beaconID;
@property (nonatomic, strong) CLLocationManager     *locationManager;

@end

- (void)beaconManager:(SBKBeaconManager *)beaconManager didRangeNewBeacon:(SBKBeacon *)beacon {
    NSLog(@"Enter new beacon %@",beacon.beaconID.stringRepresentation);
    NSLog(@"%@",beacon.serialNumber);
    NSLog(@"%d",beacon.proximity);
    NSLog(@"%@",beacon.beaconID);
}

- (void)beaconManager:(SBKBeaconManager *)beaconManager beaconDidGone:(SBKBeacon *)beacon {
    NSLog(@"Leave a beacon %@",beacon.beaconID.stringRepresentation);
    NSLog(@"%@",beacon.serialNumber);
    NSLog(@"%d",beacon.proximity);
    NSLog(@"%@",beacon.beaconID);
}

- (void)beaconManager:(SBKBeaconManager *)beaconManager scanDidFinishWithBeacons:(NSArray *)beacons {

    NSLog(@"Scan finish...");
    NSLog(@"beacons :%@",beacons);
}          

- (void)viewDidLoad {
    [super viewDidLoad];

    _beaconID = [SBKBeaconID beaconIDWithProximityUUID:SBKSensoroDefaultProximityUUID];
    [[SBKBeaconManager sharedInstance] startRangingBeaconsWithID:self.beaconID wakeUpApplication:YES];
    [[SBKBeaconManager sharedInstance] requestAlwaysAuthorization];
    [SBKBeaconManager sharedInstance].delegate = self;            
}

【问题讨论】:

  • 只是检查一下,弹出请求权限(由requestAlwaysAuthorization产生)显示并且您同意了吗?
  • 是的,我确实解决了这个问题,并且它出现了。
  • 我在不同的设备上做了一些测试,发现问题出在 iOS 设备上。我有 iPhone 4S(iOS 版本 7.1 (11D167)),因为没有检测到这个特定的设备信标,否则它非常适合 iOS 和 Android 设备。

标签: ios objective-c cllocationmanager ibeacon


【解决方案1】:

1:在设置->通用->后台应用刷新中检查是否开启后台应用刷新(iOS 7(7.0、7.1等)需要) 2:在设置->隐私->定位服务中查看是否开启定位服务,并开启本APP的授权 3:检查是否开启WiFi,即使没有wifi信号。

如果以上都启用了,但还是不行,尝试在设置->通用->重置或重启设备中重置网络设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    相关资源
    最近更新 更多