私はCoreBluetooth Central Managerを使用するiOSアプリケーションを開発中です。このアプリはxCode 8にアップデートされるまで、期待どおりに動いていた。このアップデートによって、どうにか私はSwift 2.3からSwift 3.0へのコードを何とか変換マネージャーに変換させた。 この後、エラーメッセージ 'CBManagerStateの値を' CBCentralManagerState 'の予想される型に変換できませんでした。私は答えを探していましたが、理由は更新が新しいため、有益な問題はありませんまたはSwift 3.0またはiOS 10.0で使用されるCB Bluetoothに関する文書。Type 'CBManagerState'の値をSwift 3.0構文に変換した後に期待されるタイプ 'CBCentralManagerState'に変換する方法はありますか?
星印の付いた行は、エラーが発生した行です。
final class BluetoothSerial: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate {
....//some code here from HM10 Bluetooth Serial
var centralManager: CBCentralManager!
var state: CBCentralManagerState { get { return centralManager.state } *
func centralManagerDidUpdateState(_ central: CBCentralManager) {
//note that "didDisconnectPeripheral" won't be called if BLE is turned off while connected
connectedPeripheral = nil
pendingPeripheral = nil
//send it to the delegate
delegate.serialDidChangeState(central.state) *
}
}
助けていただければ幸いです。 ありがとうございます。
から前
CBCentralManager
を削除するあなたはBLEについてのドキュメントを読むことを試みたことができますか? [docs](https://developer.apple.com/reference/corebluetooth/cbcentralmanagerstate) –3行目のcentralManagerのタイプは何ですか?そして、delegate.serialDidChangeState()はどの引数型を予期していますか? –
ええ、私はドキュメントを読んで、どのように更新前の最初の場所で完璧に動作するようにしていますか? centralManagerのタイプは 'CBCentralManager!'です。 delegate.serialDidChangeState()の予想される引数の型は 'CBCentralManagerState'です。これは私がアップデート前に動作させるのに使った基本的なソースコードです:https://github.com/hoiberg/HM10-BluetoothSerial-iOS Thaaaanks;) – iiiiirev