我的OSX 10.10应用程序应使用CentralManager
委托方法恢复CoreBluetooth centralManager:willRestore
状态。
因此我使用CBCentralManagerRestoredStatePeripheralsKey
字典键来恢复蓝牙外设。但由于错误
CBCentralManagerRestoredStatePeripheralsKey不可用
该符号仅针对iOS 7+定义为:
CB_EXTERN NSString * const CBCentralManagerRestoredStatePeripheralsKey NS_AVAILABLE(NA, 7_0);
这就是说,NS_AVAILABLE
注释使该符号在OSX上不可用。
- (void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary<NSString *, id> *)dict
dict:
一个字典,包含有关应用程序终止时系统保留的中央管理器的信息。 有关此词典的可用键,请参阅中央管理器状态还原选项。
但是没有这样的字典描述。 It however exists for iOS.
那么,如何在OSX上成功恢复CentralManager
?
答案 0 :(得分:0)
在macOS上,由于内存原因,应用程序不会被操作系统终止,因为它们会在iOS上终止。
当iOS恢复已终止的应用程序时,它还将恢复以前连接的外围设备,以便让iOS应用程序有机会继续与这些外围设备通信。
这就是说,macOS不需要恢复这样的外围设备连接。