title: Solving 'CBConcreteCentralManager is not powered on' in Core Bluetooth in MonoTouch
body: <p>Currently trying to get a Bluteooth sample working.</p>
  
  <p>I'm using this sample as reference - <a href="http://developer.apple.com/library/mac/#samplecode/HeartRateMonitor/Listings/HeartRateMonitor_HeartRateMonitorAppDelegate_m.html#//apple_ref/doc/uid/DTS40011322-HeartRateMonitor_HeartRateMonitorAppDelegate_m-DontLinkElementID_4" rel="nofollow noreferrer">http://developer.apple.com/library/mac/#samplecode/HeartRateMonitor/Listings/HeartRateMonitor_HeartRateMonitorAppDelegate_m.html#//apple_ref/doc/uid/DTS40011322-HeartRateMonitor_HeartRateMonitorAppDelegate_m-DontLinkElementID_4</a></p>
  
  <p>Bluetooth is enabled on my device.</p>
  
  <p>I've tried using code like:</p>
  
  <pre><code>_manager = new CBCentralManager ();
  _manager.DiscoveredPeripheral += HandleDiscoveredPeripheral;
  _manager.ConnectedPeripheral += HandleConnectedPeripheral;
  _manager.DisconnectedPeripheral += HandleDisconnectedPeripheral;
  </code></pre>
  
  <p>and I've tried writing my own delegate inheriting from CBCentralManagerDelegate</p>
  
  <p>but when I call StartScan</p>
  
  <pre><code>    void StartScan ()
      {
          var spp = Guid.Parse("00001101-0000-1000-8000-00805f9b34fb");
          _manager.ScanForPeripherals(new [] { spp }, null);
      }
  </code></pre>
  
  <p>then I see an error:</p>
  
  <pre><code>bluetooth1[1210:907] CoreBluetooth[WARNING] &lt;CBConcreteCentralManager: 0x9beea0&gt; is not powered on
  </code></pre>
  
  <p>Looking around for this error I've found just a couple of hits:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/12518562/what-causes-cbcentralmanagerstateunknown-in-ios">What causes CBCentralManagerStateUnknown in iOS?</a></li>
  <li><a href="http://www.zitao.org/wiki/development-log/le-zeng/2012-Nov-week1-devnote.html" rel="nofollow noreferrer">http://www.zitao.org/wiki/development-log/le-zeng/2012-Nov-week1-devnote.html</a></li>
  </ul>
  
  <p>But neither of these is particularly helpful...</p>
  
  <p>I tried delaying start until the state changed:</p>
  
  <pre><code>    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;          
          }
      }
  </code></pre>
  
  <ul>
  <li>but this never seems to be called.</li>
  </ul>
  
  <p>I've also tried to run the xcode sample, but the force is not with me today...</p>
  
  <p>Anyone got any ideas what CBConcreteCentralManager: 0x9beea0 is not powered on means and how to solve it here?</p>