swift 2.3 如何正确使用已弃用的 CBCentralManagerState

Posted

技术标签:

【中文标题】swift 2.3 如何正确使用已弃用的 CBCentralManagerState【英文标题】:swift 2.3 how to properly use deprecated CBCentralManagerState 【发布时间】:2016-09-02 13:14:45 【问题描述】:

我只是将我的项目转换为 swift 2.3(XCode 8 beta 6),但我不知道如何在旧 ios 版本上使用枚举 CBManagerState(我的应用具有部署目标 iOS7)。

CBCentralManager 状态现在使用不同的枚举 CBManagerState(之前是 CBCentralManagerState)。

下面的代码无法编译,因为 manager.state 无法与已弃用的枚举 CBCentralManagerState 进行比较,那么我应该将什么放入 else 块中?

感谢您的建议!

func isBluetoothAvailable() -> Bool 
    if #available(iOS 10.0, *) 
        return manager.state == CBManagerState.PoweredOn
     else 
        return manager.state == CBCentralManagerState.PoweredOn
    

【问题讨论】:

【参考方案1】:

我不知道这是否是一个可靠的解决方案,但删除枚举类型似乎可行...

func isBluetoothAvailable() -> Bool 
    return manager.state == .PoweredOn

【讨论】:

以上是关于swift 2.3 如何正确使用已弃用的 CBCentralManagerState的主要内容,如果未能解决你的问题,请参考以下文章

如何正确更新已弃用的 Android BillingFlowParams 方法

Firebase 发布请求 Swift/SwiftUI 已弃用

替换已弃用的“sizeWithFont:constrainedToSize:lineBreakMode”的正确语法

如何修复已弃用的“按钮样式”

我应该如何在 Android 中使用/不使用已弃用的方法

如何在不使用已弃用的类的情况下编写 Hadoop map reduce 作业?