我在寫一個使用藍牙的Cocoa應用程序。我正嘗試連接到藍牙設備,但失敗。IOBluetoothDevice openConnection失敗 - 識別錯誤代碼
IOBluetoothDevice *btDevice;
// I do search and find the device
btDevice = ;//device found
//btDevice is not nil
IOReturn status = [btDevice openConnection];
if (status != kIOReturnSuccess) {
NSLog(@"Error - failed to connect. %d", status);
}
我什麼時候搜索獲得設備,但openConnection
方法失敗。和NSLog打印
錯誤=無法連接。 4
現在這個錯誤代碼表示什麼? 我看着IOKit.framework/IOReturn.h
文件,它顯示了許多錯誤代碼
#define kIOReturnError iokit_common_err(0x2bc) // general error
#define kIOReturnNoMemory iokit_common_err(0x2bd) // can't allocate memory
#define kIOReturnNoResources iokit_common_err(0x2be) // resource shortage
#define kIOReturnIPCError iokit_common_err(0x2bf) // error during IPC
#define kIOReturnNoDevice iokit_common_err(0x2c0) // no such device
.......
//And many more
我寫一個函數來確定哪些是錯誤代碼4
- (void)logError:(OSStatus)status{
if (status == kIOReturnError) {
NSLog(@"kIOReturnError");
}else if(status == kIOReturnNoMemory){
NSLog(@"kIOReturnNoMemory");
}else if(status == kIOReturnNoResources){
NSLog(@"kIOReturnNoResources");
}else if(status == kIOReturnIPCError){
NSLog(@"kIOReturnIPCError");
}else if(status == kIOReturnNoDevice){
......
......
}else{
NSLog(@"No price for you");
}
}
而且它打印
沒有價格你
什麼是e錯誤代碼4暗示?還有什麼更容易的方法來識別來自OSStatus錯誤代碼的錯誤原因嗎?
你是對的OSStatus部分,即使我正在檢查函數中的不同IOReturn錯誤代碼。我弄錯了方法原型。我正在檢查你的鏈接。 – Krishnabhadra