IOBluetooth

RSS for tag

Gain user-space access to Bluetooth devices using IOBluetooth.

Posts under IOBluetooth tag

184 Posts

Post

Replies

Boosts

Views

Activity

Bluetooth OBEX Profile Support Documentation?
I'm connecting to an iPhone 12 via Bluetooth for access to PBAP, HFP, and MAP for sending, receiving, and listening to messages/calls. Note that this is not via any kind of custom hardware but rather through a PC. When I try to run basic commands like GetMessagesListing, it always comes back empty. I can hook some events, so I at least get something, but nothing compared to other platforms. That said, is there any documentation that describes what is supported for each Bluetooth profile? I've searched through the documentation for Core Bluetooth but wasn't able to find answers to that specific question. From what I can gather, this is something that Apple doesn't seem to support as opposed to me doing it wrong. Any help is appreciated, -Dew
0
1
1k
Feb ’22
Recent Bluetooth Flakiness on MacOS Monterey 12.1
I have MacOS Monterey 12.1 on an iMac (Retina 5K, 27-inch, Late 2015). After a recent Monterey update, the Bluetooth began to drop and eventually reconnect the Trackpad 2. Even after purchasing a new replacement Trackpad 2 from Apple, the issue persists. The issue can occur frequently or with an hour or two of intermittent stability. When the connection drops, it usually (but not always) reconnects in some random number of seconds or minutes. Several steps have been taken that DO NOT resolve the issue: Delete /Library/Preferences/com.apple.Bluetooth.plist Delete ~/Library/Preferences/ByHost/com.appl.Bluetooth... Shutdown bluetooth and reboot Reset NVRAM/PRAM Reset SMC I have been unable to locate any logs on my MAC that provide more detail on bluetooth connections/issues. Questions Is there a fix for this recently-introduced issues OR is there an option to rollback the latest updates? Are there logs that can clarify the underlying issue(s) OR is this an oversight in the design?
0
0
912
Feb ’22
iBeacons broadcasting on background for long time
Hi, We have an app that broadcast UUIDs as beacons to the Suntech vehicle tracker device in the foreground and background. This app broadcast UUIDs to vehicle tracker devices when the app is in range of the device, and when the application is away from the device then it will send alerts to users. But this is working properly when the app is in the foreground. And when the user puts the application in the background then broadcasting stops and UUIDs format is also changed. So can you guide us, on how we can broadcast in the background for a long time and when the app is killed?
1
0
1.6k
Jan ’22
Background ble
I want to send encrypted data from ble (as central) to another device (as peripheral). Now when app is open everything is all good, but what to do if app is in background? Do I have to buy smaller version of advertising id from BLE SIG? OR Is there any way I can send data in background? Or Is there any unique characteristics or services other than BLE ADDRESS that iPhone always advertises when iOS Bluetooth is turned on, so that I can check on that condition and allow entry to user (as application is for smart door lock.)
0
0
1.1k
Jan ’22
Can Customize Bluetooth HID usage page/usage be accessed by application on macOS?
We developed a bluetooth keyboard with classical bluetooth, and used usage page 0x01 and usage 0x03 for OTA firmware update, and I wrote an appliction on Windows 10 and everything works as expect. I am trying to wrote same application on macOS Big Sur 11.6.1 with XCode 13.2.1, but I found that DeviceMatchingCallback was triggered only once with usage page 0x01 and usage 0x06, which is keyboard usage page/usage pairs, any other usage page/usage pairs such as 0x01/0x03, 0x0C/0x01 didn't trigger DeviceMatchingCallback. So my question is: can customize usage page/usage of bluetooth hid be accessed by application?
0
0
741
Jan ’22
CoreBluetooth stopped working in my app
Hello, I am the developer of an app that is published on the App Store. This app connects to Bluetooth devices to read their battery levels. However, it seems that CoreBluetooth, which is used to discover and connect to devices, has completely stopped working on macOS Monterey. The delegate methods are no longer triggered. When I start my app I see the following messages in the output area: [CoreBluetooth] No name or address The Console app shows a lot of this messages: error 14:56:23.730415+0200 bluetoothd Server.Core sdp attributes is empty I don't know if this is related in any case. Are there any new entitlements or something like that? I did not change any single line and on Big Sur, everything works fine. A customer of mine, which also uses the beta version, already contacted me, so this seems to be a general issue - at least with my app? The app also works fine on Big Sur for the customer.
4
0
5.3k
Jan ’22
Bluetooth Headphones Crackling and Popping
My Bluetooth headphones are cracking and popping. This topic is on a lot of forums but I haven't found any fixes. Some of them are quite old. There is a really long run on this forum in fact years however there's not a fix for me. I did have success with reset the Bluetooth module this morning and it cleared up the distracting noises. I/m back on my computer this ever working in Logic Pro X and it's back. ANY HELP would be greatly appreciated. Thank You in advance. I have a late 2105 iMac Big Sur 11.4 Graphics: ADM Radeon R9 M390 2 GB 32 GB RAM
1
0
1.1k
Dec ’21
Background scanning not working without having last peripheral in iOS?
I trying to connect peripheral using UUID in the background, It's working only when i interact with advertising beacon first time at foreground then my app went background its working background and lock mode also if First time my app is away from advertising beacon i put my app at background then will come near to advertising beacon it's not working. in console, they came last peripheral not found as that error will come, my question is: is this possible to scan or connect Bluetooth using UUID for the first time without the app opening? i already tried that solutions also : https://stackoverflow.com/questions/53299770/ios-ble-device-paired-while-app-is-in-background-or-killed-or-suspend https://stackoverflow.com/questions/32140863/ios-diddiscoverperipheral-not-called-in-background-mode https://stackoverflow.com/questions/58235920/diddiscoverperipheral-not-working-sometimes-on-background https://stackoverflow.com/questions/42090795/not-able-to-search-my-ble-device-which-is-providing-service-id-in-scan-response Thanks
0
0
1k
Nov ’21
How to capture Bluetooth notifications on Mac and iOS?
I want to capture Bluetooth "Classic" device notifications on both Mac and iOS platforms primarily when: Bluetooth is turned on/off When a device gets connected/disconnected to Bluetooth On Mac: I used the IOBluetooth framework in Mac for this by registering for two notifications: registerForConnectNotifications registerForDisconnectNotifications However, the issue with this is that notifications get triggered even when a connect request happens with the device. (For ex: I pressed connect for connecting with headphones and a notification is received even though it failed to connect to the device for whatever reason). I need the notification to be received only when the device is successfully connected with the system. On iOS: I am not sure which framework to go with - whether CoreBluetooth or External Accessory. I did read that CoreBluetooth supports classic devices but not every device. I would appreciate any insight or help on this topic.
1
0
1.3k
Nov ’21
Is absolute bluetooth mouse movements supported in iOS 13 ?
Is absolute mouse positioning supported over bluetooth in IOS ? I've successfully created a bluetooth mouse emulator (using a Bluefruit NRF52832) which is working with the Assistive Touch bluetooth device feature added in iOS 13. Currently I can only emulate relative mouse positions. Eg. I can only signal the mouse to (pseudo code here) 'movemouse up 10 units' 'movemouse right 10 units', etc.. What I'm hoping to do is'move the mouse in absolute coordinates. eg 'movemouse to X,Y' (where X.Y are absolute screen coordinates' Is it possible to use Absolute Mouse coordinates via bluetooth with IoS ? .. Any references, code fragments appreciatedjc Additional details.. What I tried was changing the HID report frame in the Bluefruit Arduino package from Adafruit (line 138 in BleHIDAdafruit.cpp ). from  SELECT ALL | TOGGLE FULL SIZE HIDINPUT    ( HIDDATA | HIDVARIABLE | HIDRELATIVE ), to SELECT ALL | TOGGLE FULL SIZE HIDINPUT    ( HIDDATA | HIDVARIABLE | HID_ABSOLUTE ), which I believe is the right thing to do.. the mouse no longer moves on my IPAD. Any thoughts ? Note I've tried asking this in the Adafruit forums with no response.
2
0
2.0k
Sep ’21
CoreBluetooth cannot discover Windows computers
I am working on a project that involves Bluetooth. I tried to use CoreBluetooth for that but it couldn't discover both of my Windows devices. Interestingly, using IOBluetooth to scan for devices, can discover the Windows computer. However, I want to use one consistent code base for my project and sending data over to another device using bluetooth without pairing(RFCOMM and L2CAP both require pairing).
1
0
748
Sep ’21
Need to communicate with classic Bluetooth device(Bluetooth v2.0 + EDR).
Need to communicate with classic Bluetooth device(Bluetooth v2.0 + EDR). We have a medical device which has classic Bluetooth. We need to communicate with that medical device using iPad using Classic Bluetooth communication. We are not able to scan and connect to the nearby classic Bluetooth devices from our application. So can you please let us know whether classic Bluetooth communication can be done in iOS or not.
0
0
558
Sep ’21
AVAudiosession with allowbluetooth option prevents to listen bluetooth button events
I have a VoIP call application. I m trying to add functionality that when the user connected bluetooth to device and hit the bluetooth button call might be answered. I added options that when incoming call received incoming ring should play in bluetooth also. let audioSession = AVAudioSession.sharedInstance() try audioSession.setCategory(AVAudioSession.Category.playAndRecord, mode: .spokenAudio, options:[.defaultToSpeaker,.allowBluetooth,.allowBluetoothA2DP]) try audioSession.setActive(true, options: .notifyOthersOnDeactivation) and I added MPCommandCenter to listen bluetooth events ; let rcCenter = MPRemoteCommandCenter.shared() rcCenter.nextTrackCommand.isEnabled = false rcCenter.nextTrackCommand.addTarget { _ in return .success } rcCenter.previousTrackCommand.isEnabled = false rcCenter.previousTrackCommand.addTarget { _ in return .success } rcCenter.togglePlayPauseCommand.isEnabled = true rcCenter.playCommand.isEnabled = true rcCenter.pauseCommand.isEnabled = true rcCenter.stopCommand.isEnabled = true rcCenter.togglePlayPauseCommand.addTarget{ [unowned self] event in print("togglePlayPauseCommand") return.commandFailed } rcCenter.playCommand.addTarget{ [unowned self] event in print("playCommand") return.commandFailed } rcCenter.pauseCommand.addTarget{ [unowned self] event in print("pause") return.commandFailed } rcCenter.stopCommand.addTarget{ [unowned self] event in print("stop") return.commandFailed } When I remove bluetooth related options from audioSession.setCategory I can listen to events. But when I put them again, events don't work. I also tried UIResponder but had no success; UIApplication.shared.becomeFirstResponder() UIApplication.shared.beginReceivingRemoteControlEvents() and override func remoteControlReceived(with event: UIEvent?) { if let rc = event?.subtype{ print("OVER HERE") } } any idea will be appreciated.
0
1
982
Aug ’21
Discover and connect to BT speaker via API
Hi all, is there anything available in the iOS SDKs to allow me to find and connect to a bluetooth speaker? At the moment I have to direct users to iOS settings and do it from there, but I would like to have an in-app experience for this. Thanks!
Replies
0
Boosts
0
Views
1.4k
Activity
Feb ’22
Bluetooth OBEX Profile Support Documentation?
I'm connecting to an iPhone 12 via Bluetooth for access to PBAP, HFP, and MAP for sending, receiving, and listening to messages/calls. Note that this is not via any kind of custom hardware but rather through a PC. When I try to run basic commands like GetMessagesListing, it always comes back empty. I can hook some events, so I at least get something, but nothing compared to other platforms. That said, is there any documentation that describes what is supported for each Bluetooth profile? I've searched through the documentation for Core Bluetooth but wasn't able to find answers to that specific question. From what I can gather, this is something that Apple doesn't seem to support as opposed to me doing it wrong. Any help is appreciated, -Dew
Replies
0
Boosts
1
Views
1k
Activity
Feb ’22
Recent Bluetooth Flakiness on MacOS Monterey 12.1
I have MacOS Monterey 12.1 on an iMac (Retina 5K, 27-inch, Late 2015). After a recent Monterey update, the Bluetooth began to drop and eventually reconnect the Trackpad 2. Even after purchasing a new replacement Trackpad 2 from Apple, the issue persists. The issue can occur frequently or with an hour or two of intermittent stability. When the connection drops, it usually (but not always) reconnects in some random number of seconds or minutes. Several steps have been taken that DO NOT resolve the issue: Delete /Library/Preferences/com.apple.Bluetooth.plist Delete ~/Library/Preferences/ByHost/com.appl.Bluetooth... Shutdown bluetooth and reboot Reset NVRAM/PRAM Reset SMC I have been unable to locate any logs on my MAC that provide more detail on bluetooth connections/issues. Questions Is there a fix for this recently-introduced issues OR is there an option to rollback the latest updates? Are there logs that can clarify the underlying issue(s) OR is this an oversight in the design?
Replies
0
Boosts
0
Views
912
Activity
Feb ’22
iBeacons broadcasting on background for long time
Hi, We have an app that broadcast UUIDs as beacons to the Suntech vehicle tracker device in the foreground and background. This app broadcast UUIDs to vehicle tracker devices when the app is in range of the device, and when the application is away from the device then it will send alerts to users. But this is working properly when the app is in the foreground. And when the user puts the application in the background then broadcasting stops and UUIDs format is also changed. So can you guide us, on how we can broadcast in the background for a long time and when the app is killed?
Replies
1
Boosts
0
Views
1.6k
Activity
Jan ’22
Background ble
I want to send encrypted data from ble (as central) to another device (as peripheral). Now when app is open everything is all good, but what to do if app is in background? Do I have to buy smaller version of advertising id from BLE SIG? OR Is there any way I can send data in background? Or Is there any unique characteristics or services other than BLE ADDRESS that iPhone always advertises when iOS Bluetooth is turned on, so that I can check on that condition and allow entry to user (as application is for smart door lock.)
Replies
0
Boosts
0
Views
1.1k
Activity
Jan ’22
Can Customize Bluetooth HID usage page/usage be accessed by application on macOS?
We developed a bluetooth keyboard with classical bluetooth, and used usage page 0x01 and usage 0x03 for OTA firmware update, and I wrote an appliction on Windows 10 and everything works as expect. I am trying to wrote same application on macOS Big Sur 11.6.1 with XCode 13.2.1, but I found that DeviceMatchingCallback was triggered only once with usage page 0x01 and usage 0x06, which is keyboard usage page/usage pairs, any other usage page/usage pairs such as 0x01/0x03, 0x0C/0x01 didn't trigger DeviceMatchingCallback. So my question is: can customize usage page/usage of bluetooth hid be accessed by application?
Replies
0
Boosts
0
Views
741
Activity
Jan ’22
CoreBluetooth stopped working in my app
Hello, I am the developer of an app that is published on the App Store. This app connects to Bluetooth devices to read their battery levels. However, it seems that CoreBluetooth, which is used to discover and connect to devices, has completely stopped working on macOS Monterey. The delegate methods are no longer triggered. When I start my app I see the following messages in the output area: [CoreBluetooth] No name or address The Console app shows a lot of this messages: error 14:56:23.730415+0200 bluetoothd Server.Core sdp attributes is empty I don't know if this is related in any case. Are there any new entitlements or something like that? I did not change any single line and on Big Sur, everything works fine. A customer of mine, which also uses the beta version, already contacted me, so this seems to be a general issue - at least with my app? The app also works fine on Big Sur for the customer.
Replies
4
Boosts
0
Views
5.3k
Activity
Jan ’22
How to set the 2M PHY Mode while searching for a Bluetooth device?
How to set the 2M PHY Mode while searching for a Bluetooth device? https://punchthrough.com/crash-course-in-2m-bluetooth-low-energy-phy/ is there any interface method in CBCentralManager to set these flags?
Replies
2
Boosts
0
Views
2.4k
Activity
Jan ’22
Bluetooth Headphones Crackling and Popping
My Bluetooth headphones are cracking and popping. This topic is on a lot of forums but I haven't found any fixes. Some of them are quite old. There is a really long run on this forum in fact years however there's not a fix for me. I did have success with reset the Bluetooth module this morning and it cleared up the distracting noises. I/m back on my computer this ever working in Logic Pro X and it's back. ANY HELP would be greatly appreciated. Thank You in advance. I have a late 2105 iMac Big Sur 11.4 Graphics: ADM Radeon R9 M390 2 GB 32 GB RAM
Replies
1
Boosts
0
Views
1.1k
Activity
Dec ’21
Background scanning not working without having last peripheral in iOS?
I trying to connect peripheral using UUID in the background, It's working only when i interact with advertising beacon first time at foreground then my app went background its working background and lock mode also if First time my app is away from advertising beacon i put my app at background then will come near to advertising beacon it's not working. in console, they came last peripheral not found as that error will come, my question is: is this possible to scan or connect Bluetooth using UUID for the first time without the app opening? i already tried that solutions also : https://stackoverflow.com/questions/53299770/ios-ble-device-paired-while-app-is-in-background-or-killed-or-suspend https://stackoverflow.com/questions/32140863/ios-diddiscoverperipheral-not-called-in-background-mode https://stackoverflow.com/questions/58235920/diddiscoverperipheral-not-working-sometimes-on-background https://stackoverflow.com/questions/42090795/not-able-to-search-my-ble-device-which-is-providing-service-id-in-scan-response Thanks
Replies
0
Boosts
0
Views
1k
Activity
Nov ’21
Random Spaces Inserted into Barcode Scan
Multiple barcode scanners will work properly when hard-plugged into Windows device but will insert random spaces into Notes when bluetooth-connected to iPad mini 4 (running 15.1), even if the settings are for a mac OS device. Thoughts?
Replies
0
Boosts
0
Views
445
Activity
Nov ’21
How to capture Bluetooth notifications on Mac and iOS?
I want to capture Bluetooth "Classic" device notifications on both Mac and iOS platforms primarily when: Bluetooth is turned on/off When a device gets connected/disconnected to Bluetooth On Mac: I used the IOBluetooth framework in Mac for this by registering for two notifications: registerForConnectNotifications registerForDisconnectNotifications However, the issue with this is that notifications get triggered even when a connect request happens with the device. (For ex: I pressed connect for connecting with headphones and a notification is received even though it failed to connect to the device for whatever reason). I need the notification to be received only when the device is successfully connected with the system. On iOS: I am not sure which framework to go with - whether CoreBluetooth or External Accessory. I did read that CoreBluetooth supports classic devices but not every device. I would appreciate any insight or help on this topic.
Replies
1
Boosts
0
Views
1.3k
Activity
Nov ’21
connecting issue with BLE
I am building a flutter project that using a Bluetooth Reactive BLE dependency but I am facing a error while connecting with BLE device. Errors are like: Command PhaseScriptExecution failed with a nonzero exit code Flutter/Flutter.h file not found
Replies
0
Boosts
0
Views
845
Activity
Oct ’21
Connect to Rasberry Pi
I can see my pi listed in iOS settings, and I can connect to it that way. I'm also trying to connect using CoreBluetooth but the pi never appears as a Peripheral I can connect to. Should I be taking another approach? Would it appear as an ExternalAccessory instead? I have a Python server on the device that I'd like to connect to. Thanks!
Replies
0
Boosts
0
Views
1k
Activity
Oct ’21
Is absolute bluetooth mouse movements supported in iOS 13 ?
Is absolute mouse positioning supported over bluetooth in IOS ? I've successfully created a bluetooth mouse emulator (using a Bluefruit NRF52832) which is working with the Assistive Touch bluetooth device feature added in iOS 13. Currently I can only emulate relative mouse positions. Eg. I can only signal the mouse to (pseudo code here) 'movemouse up 10 units' 'movemouse right 10 units', etc.. What I'm hoping to do is'move the mouse in absolute coordinates. eg 'movemouse to X,Y' (where X.Y are absolute screen coordinates' Is it possible to use Absolute Mouse coordinates via bluetooth with IoS ? .. Any references, code fragments appreciatedjc Additional details.. What I tried was changing the HID report frame in the Bluefruit Arduino package from Adafruit (line 138 in BleHIDAdafruit.cpp ). from  SELECT ALL | TOGGLE FULL SIZE HIDINPUT    ( HIDDATA | HIDVARIABLE | HIDRELATIVE ), to SELECT ALL | TOGGLE FULL SIZE HIDINPUT    ( HIDDATA | HIDVARIABLE | HID_ABSOLUTE ), which I believe is the right thing to do.. the mouse no longer moves on my IPAD. Any thoughts ? Note I've tried asking this in the Adafruit forums with no response.
Replies
2
Boosts
0
Views
2.0k
Activity
Sep ’21
CoreBluetooth cannot discover Windows computers
I am working on a project that involves Bluetooth. I tried to use CoreBluetooth for that but it couldn't discover both of my Windows devices. Interestingly, using IOBluetooth to scan for devices, can discover the Windows computer. However, I want to use one consistent code base for my project and sending data over to another device using bluetooth without pairing(RFCOMM and L2CAP both require pairing).
Replies
1
Boosts
0
Views
748
Activity
Sep ’21
Need to communicate with classic Bluetooth device(Bluetooth v2.0 + EDR).
Need to communicate with classic Bluetooth device(Bluetooth v2.0 + EDR). We have a medical device which has classic Bluetooth. We need to communicate with that medical device using iPad using Classic Bluetooth communication. We are not able to scan and connect to the nearby classic Bluetooth devices from our application. So can you please let us know whether classic Bluetooth communication can be done in iOS or not.
Replies
0
Boosts
0
Views
558
Activity
Sep ’21
Bluetooth Device Name Listing
Assalam Alikum / Hi , Hope so everyone is fine and doing good. Am facing an issue retrieving the Bluetooth devices list surrounding me. I have Bluetooth Door which will be open through my iOS application. But I can't find that name in my list. Even I found some Bluetooth devices without names. Thanks in advance.
Replies
1
Boosts
0
Views
993
Activity
Aug ’21
AVAudiosession with allowbluetooth option prevents to listen bluetooth button events
I have a VoIP call application. I m trying to add functionality that when the user connected bluetooth to device and hit the bluetooth button call might be answered. I added options that when incoming call received incoming ring should play in bluetooth also. let audioSession = AVAudioSession.sharedInstance() try audioSession.setCategory(AVAudioSession.Category.playAndRecord, mode: .spokenAudio, options:[.defaultToSpeaker,.allowBluetooth,.allowBluetoothA2DP]) try audioSession.setActive(true, options: .notifyOthersOnDeactivation) and I added MPCommandCenter to listen bluetooth events ; let rcCenter = MPRemoteCommandCenter.shared() rcCenter.nextTrackCommand.isEnabled = false rcCenter.nextTrackCommand.addTarget { _ in return .success } rcCenter.previousTrackCommand.isEnabled = false rcCenter.previousTrackCommand.addTarget { _ in return .success } rcCenter.togglePlayPauseCommand.isEnabled = true rcCenter.playCommand.isEnabled = true rcCenter.pauseCommand.isEnabled = true rcCenter.stopCommand.isEnabled = true rcCenter.togglePlayPauseCommand.addTarget{ [unowned self] event in print("togglePlayPauseCommand") return.commandFailed } rcCenter.playCommand.addTarget{ [unowned self] event in print("playCommand") return.commandFailed } rcCenter.pauseCommand.addTarget{ [unowned self] event in print("pause") return.commandFailed } rcCenter.stopCommand.addTarget{ [unowned self] event in print("stop") return.commandFailed } When I remove bluetooth related options from audioSession.setCategory I can listen to events. But when I put them again, events don't work. I also tried UIResponder but had no success; UIApplication.shared.becomeFirstResponder() UIApplication.shared.beginReceivingRemoteControlEvents() and override func remoteControlReceived(with event: UIEvent?) { if let rc = event?.subtype{ print("OVER HERE") } } any idea will be appreciated.
Replies
0
Boosts
1
Views
982
Activity
Aug ’21
I’m new
how can I view my main Device on another device transfer data
Replies
1
Boosts
0
Views
689
Activity
Aug ’21