我是一个自定义类(让我们说MyBLE
)作为CoreBluetooth
包装器(类似于LGBluetooth,我猜)。它处理我的BLE配件和iOS设备之间的通信:
MyBLE.h
@interface MyBLE : NSObject
@property (nonatomic, strong) CBCentralManager *central;
@property (nonatomic, strong) CBPeripheral *peripheral;
+ (MyBLE *)sharedInstance;
//...
@end
在AppDelegate
中,我将其初始化为MyBLE
对象,在前台工作正常。我在 Info.plist 中设置了所需条目,以便根据Core Bluetooth Programming Guide使用UIBackgroundMode
,以便我可以继续通过BLE附件发送数据。
但是当我按下主页按钮时,当iOS从BLE外设获取数据时,Xcode控制台不再打印出应该打印的任何消息。在进入后台模式之前,设备已连接到iOS设备(中央)。
我错过了什么吗?似乎应用程序在3分钟后不再从BLE设备获取数据。 (是的,我确实添加了bluetooth-central
)
答案 0 :(得分:1)
在我将MyBLE
对象的初始化从-init:
移动到-application:didFinishLaunchingWithOptions:
之后,它运行了。
猜猜代理人当时没有被认为是初始化的。