iOS 6 应该会缓存已发现的服务和外围设备的特性,以便重新连接到已知外围设备的速度更快。但是,它似乎不适用于我的应用程序。
我在连接到外围设备后保存它,并在重新连接时使用已保存外围设备的 UUID 调用retrievePeripherals。我的 didRetrievePeripherals 被调用,我连接到外围设备。我的 didConnectPeripheral 被调用,我调用了 discoverServices。我期待服务从缓存中返回到我的应用程序。但是,服务表是从我的外围设备中读取的。
因为我的应用程序正忙于读取服务表,所以我错过了从外围设备发送的第一个测量值。
有谁知道为什么没有读取缓存?我需要在某处设置一些选项吗?