我已經看到,在iOS 5中,CoreBluetooth提供了檢查藍牙是否被禁用的功能。從我所看到的文檔來看,它顯然是針對藍牙外設使用的。但是,我試圖檢查藍牙是否打開,因爲我正在使用GameKit(GKPeerPickerController
),如果它未啓用,它將無休止地搜索藍牙連接,這是一個問題。檢查藍牙是否在沒有BluetoothManager的iOS 5上被禁用
我試圖做到這一點,像這樣:
CBCentralManager * manager = [[CBCentralManager alloc] init];
if (manager.state == CBCentralManagerStatePoweredOn) {
//go ahead with GameKit
}
這不工作,manager.state
總是等於空。我在這裏做錯了什麼?或者,有沒有更好的方法來檢查iPhone上的藍牙狀態?
編輯:我不想調用任何私人API,因爲我將提交此應用程序到應用程序商店。我編輯了我的問題標題來澄清這一點。
這隻適用於iPhone 4S及以上版本,iPad3及以上版本(不適用於任何iPod Touch,iPad1,iPad2等) – Adam 2013-06-18 17:04:18