現在、Bluteoothサンプルを機能させようとしています。
デバイスでBluetoothが有効になっています。
私は次のようなコードを使用してみました:
_manager = new CBCentralManager ();
_manager.DiscoveredPeripheral += HandleDiscoveredPeripheral;
_manager.ConnectedPeripheral += HandleConnectedPeripheral;
_manager.DisconnectedPeripheral += HandleDisconnectedPeripheral;
CBCentralManagerDelegateから継承した独自のデリゲートを書いてみました
しかし、StartScanを呼び出すと
void StartScan ()
{
var spp = Guid.Parse("00001101-0000-1000-8000-00805f9b34fb");
_manager.ScanForPeripherals(new [] { spp }, null);
}
次に、エラーが表示されます。
bluetooth1[1210:907] CoreBluetooth[WARNING] <CBConcreteCentralManager: 0x9beea0> is not powered on
このエラーを探し回ると、いくつかのヒットが見つかりました。
- iOSでCBCentralManagerStateUnknownの原因は何ですか?
- http://www.zitao.org/wiki/development-log/le-zeng/2012-Nov-week1-devnote.html
しかし、これらはどちらも特に役に立ちません...
状態が変わるまで開始を遅らせてみました:
void HandleUpdatedState (object sender, EventArgs e)
{
// more to do here....
Console.WriteLine("State updated " + e.ToString());
switch (_manager.State) {
case CBCentralManagerState.PoweredOn:
_manager.DiscoveredPeripheral += HandleDiscoveredPeripheral;
_manager.ConnectedPeripheral += HandleConnectedPeripheral;
_manager.DisconnectedPeripheral += HandleDisconnectedPeripheral;
StartScan();
break;
case CBCentralManagerState.Unauthorized:
break;
}
}
- しかし、これは決して呼ばれていないようです。
xcodeサンプルも実行しようとしましたが、今日は力がありません...
CBConcreteCentralManager:0x9beea0の電源がオンになっていないということと、それをここで解決する方法について、誰かが何か考えを持っていますか?