IOBluetooth

RSS for tag

Gain user-space access to Bluetooth devices using IOBluetooth.

Posts under IOBluetooth tag

184 Posts

Post

Replies

Boosts

Views

Activity

Monterey/Ventura - Unable to use Bluetooth in PC/SC IFD Handler plugin from within platform binary
I am having a problem similar to this post, https://developer.apple.com/forums/thread/668231 , which is a follow up to https://developer.apple.com/forums/thread/710998?page=1#724376022 . As I am continuing to troubleshoot the problem with Bluetooth not working with 3rd party software in logged out/locked out state, I checked the TCC logs and found the application is being refused for bluetooth as shown below: 2022-10-25 12:15:31.433032+0300 localhost tccd[146]: [com.apple.TCC:access] REQUEST: tccd_uid=0, sender_pid=102, sender_uid=0, sender_auid=-1, function=TCCAccessRequest, msgID=102.162 2022-10-25 12:15:31.433223+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138]: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433280+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138] -- failed to create helperInfoDict for: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433323+0300 localhost tccd[146]: [com.apple.TCC:access] <TCCDProcess: identifier=com.apple.mds, pid=102, auid=0, euid=0, binary_path=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds> attempted to call TCCAccessRequest for kTCCServiceReminders without the recommended com.apple.private.tcc.manager.check-by-audit-token entitlement 2022-10-25 12:15:31.433469+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138]: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433515+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138] -- failed to create helperInfoDict for: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433538+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_CTX: msgID=102.162, function=<private>, service=kTCCServiceReminders, preflight=yes, query=1, 2022-10-25 12:15:31.433550+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_ATTRIBUTION: msgID=102.162, attribution={accessing={<TCCDProcess: identifier=***Helper, pid=138, auid=0, euid=0, binary_path=/Library/PrivilegedHelperTools/***Helper>}, requesting={<TCCDProcess: identifier=com.apple.mds, pid=102, auid=0, euid=0, binary_path=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds>}, }, 2022-10-25 12:15:31.433934+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_SUBJECT: msgID=102.162, subject=/Library/PrivilegedHelperTools/***Helper, 2022-10-25 12:15:31.433963+0300 localhost tccd[146]: [com.apple.TCC:access] Refusing TCCAccessRequest for service kTCCServiceReminders from client Sub:{/Library/PrivilegedHelperTools/***Helper}Resp:{<TCCDProcess: identifier=***Helper, pid=138, auid=0, euid=0, binary_path=/Library/PrivilegedHelperTools/***Helper>} in background session 2022-10-25 12:15:31.433967+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_RESULT: msgID=102.162, authValue=0, authReason=5, authVersion=1, error=(null), 2022-10-25 12:15:31.433998+0300 localhost tccd[146]: [com.apple.TCC:access] REPLY: (0) function=TCCAccessRequest, msgID=102.162 2022-10-25 12:15:34.580329+0300 localhost ***Helper[138]: (TCC) [com.apple.TCC:access] send_message_with_reply(): user tccd unavailable, sending 0x6000014e22e0 to system tccd 2022-10-25 12:15:34.580712+0300 localhost tccd[146]: [com.apple.TCC:access] REQUEST: tccd_uid=0, sender_pid=138, sender_uid=0, sender_auid=-1, function=TCCAccessRequest, msgID=138.1
0
0
1.2k
Nov ’22
In iOS 16 getting MTU size very low (20)
Hello Team, My project based on the CAN2BLE protocol. Here we are communicating with devices using Protobuf framework (https://github.com/apple/swift-protobuf). While communicating with device below having some observation Below iOS 16 MTU Size (iOS 12...15.6.1) MTU Size Without Response: 244 In iOS 16 MTU Size MTU Size Without Response: 20 Observation : First time in iOS 16 getting MTU Size Without Response 244, but in second time it will give size 20, but after restarting the device. First time it will gives MTU size 244 from next time MTU size 20. This will happen again and again. Due to this issue my app not geeting data form BLE device. Please let me know, if you need more data on the same.
6
3
4.5k
Oct ’22
Airpods actual audio latency is differ from AVAudioengine.session prediction and changes over time
Hi, I am building a realtime drum practise tool which listens to the players' practice and provides visual feedback on their accuracy. I use AVAudioSourceNode and AVAudioSinkNode for playing audio and for listening to player practise. Precious timing is the most important part of our app. To optimise audio latency I set PreferredIOBufferDuration to 64/48000sec (~1.33ms). My preferences work fine with builtin or wired audio devices. In these cases we can easily estimate the actual audio latency. However we would like to support Apple airPods (or other bluetooth earbuds) as well, but it seems to be impossible to predict the actual audio latency. let bufferSize: UInt32 = 64 let sampleRate: Double = 48000 let bufferDuration = TimeInterval(Double(bufferSize) / sampleRate) try? session.setCategory(AVAudioSession.Category.playAndRecord, options: [.defaultToSpeaker, .mixWithOthers, .allowBluetoothA2DP])     try? session.setPreferredSampleRate(Double(sampleRate))     try? session.setPreferredIOBufferDuration(bufferDuration)     try? session.setActive(true, options: .notifyOthersOnDeactivation) I use iPhone 12 mini and airPods 2 for testing. (Input always have to be the phone's builtin mic) let input = session.inputLatency // 2.438ms let output = session.outputLatency // 160.667ms let buffer = session.ioBufferDuration // 1.333ms let estimated = input + output + buffer * 2 // 165.771 session.outputLatency returns ca 160ms for my airPods. With the basic calculation above I can estimate a latency of 165.771ms, but when I measure the actual latency (time difference between heard and played sound ) I get significantly different values. If I connect my airPods and start playing immediately, the actual measured latency is ca 215-220ms at first, but it is continuously decreasing over time. After about 20-30mins of measuring the actual latency is around 155-160ms (just like the value that the session returns). However if I am using my airPods for a while before I start the measurement, the actual latency starts from ca 180ms (and decreasing over time the same way). On older iOS devices these differences are even larger. It feels like bluetooth connection needs to "warm up" or something. My questions would be: Is there any way to have a relatively constant audio latency with bluetooth devices? I thought maybe it depends on the actual bandwidth but I couldn't find anything on this topic. Can bandwidth change over time? Can I control it? I guess airPods support AAC codec. Is there any way to force them to use SBC? Does SBC codec work with lower latency? What is the best audioengine setting to support bluetooth devices with the lowest latency? Any other suggestion? Thank you
3
0
8.6k
Oct ’22
Is there any way to set the Bluetooth scan frequency dynamically so that I can get the device updates frequently through didDiscoverPeripheral callback.
I have a requirement to get the RSSI values of my BLE device for approximately 30 times in a minute. I didn't find a way to pass the scan frequency to Bluetooth API. Could any one check and let me know if there is any possibility to set this dynamically?
0
0
745
Oct ’22
CoreBluetooth: Reduced MTU when updating from iOS15 to iOS16
We are seeing a strange behaviour where the maximum MTU size sent from the phone to our peripheral has decreased from 185 (iOS 15) to 77 (iOS 16 and 16.0.2). We are seeing the exact same behaviour on iPhone 11, iPhone 13 Pro Max and iPhone 14. The source code for the iOS app has not changed at all, yet for some reason the MTU seems to significantally decrease after upgrading to iOS 16. Below is a sniffer log showing how on iOS 15.7 (19H12) running on an iPhone 7, the iPhone's requested MTU is 185 bytes:- And the sniffer log below shows how on iOS 16.0.2 running on iPhone 13 Pro Max, the iPhone's requested MTU is only 77 bytes:- The sudden decrease in the iOS's MTU size is forcing the app to resort to long writes instead of normal writes (when attempting to write to a characteristic larger than 77 bytes), which is causing the interaction to break. Any idea if this is a known bug on iOS 16? And is there a fix/workaround on the app side that can revert the behaviour so that the phone requests 185 bytes? Thanks
2
1
3.4k
Oct ’22
MacOS 12.6 Monterey - Bluetooth still broken
2015 Macbook pro intel Bluetooth - Connect then drop with iPhone 12 mini SV 14.3 Some non apple devices dont appear in connection list Create alternate admin user, same problem no luck with; Reset SMC Remove .plist So far apple advisors recommend reload OS12.6 ...but I dont have confidence this will work unless other users have found success.
2
1
1.2k
Sep ’22
Bluetooth from async thread
Hello, I am writing an app that communicates with a classic bluetooth device. I am attempting to integrate it into a swift ui front end.  I have created an async method that looks like : func doIndex() async -> String { obd.openConnection() } It this method is called from a task  .task{ indexOut = await appState.doIndex() } When I call this method, the bluetooth connection times out connecting every time.  ** Obd> Status changed - Connecting to OBD Device AddressString: 00-04-3e-5b-54-6f Paired?: true Connected?: false channel 1 identified 2022-09-02 17:14:42.751753-0400 odbpoc[12934:355248] [IOBluetooth] -[IOBluetoothRFCOMMChannel waitforChanneOpen] CID:1 - timed out waiting to open 2022-09-02 17:14:42.752114-0400 odbpoc[12934:355248] [IOBluetooth] -[IOBluetoothDevice openRFCOMMChannelSync:withChannelID:delegate:] CID:1 error -536870212 If I run this code in the main loop, the open happens fine.  ** Obd> Status changed - Connecting to OBD Device AddressString: 00-04-3e-5b-54-6f Paired?: true Connected?: false channel 1 identified channel open ! ** Obd> Status changed - Connected I did some digging and see recommendations to add a runloop to the async method. When I do that, Xcode tells me Runloop.current shouldn't be used in async code. Is there a recommended method for doing background IOBluetooth work ?  Thank You, David
0
0
893
Sep ’22
Bluetooth Permissions denied when trying to access while not logged in
As of Monterrey 12.3, I am getting this error from my authorization plugin. Any ideas for how to get the authorization plugin to get permissions? (I tried having it connection a daemon that has bluetooth permissions via XPC as well as an application, but that didn't work as well). The bluetooth does work when in logged mode on the application. func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) {     switch peripheral.state {     case .unknown:       Log.i("Bluetooth state is unknown")       reset()     case .resetting:       Log.i("Bluetooth is resetting")       reset()     case .unsupported:       Log.w("Bluetooth is not supported on this device")       reset()     case .unauthorized: // I keep getting this response       Log.w("Bluetooth permission was not granted")       reset()     case .poweredOff:       Log.i("Bluetooth is powered off")       reset()     case .poweredOn:       Log.i("Bluetooth is ready")       addServiceIfNeeded()     @unknown default:       Log.w("Unknown peripheral state", peripheral.state)     }   }
0
0
1.2k
Aug ’22
Is absolute bluetooth mouse movements supported in ios?
am trying to send Bluetooth HID Mouse Commands. However the HTML cursor coordinates relative to device screen have no accurate impact on how Screen Cursor (Accessibility Pointer) in IOS Device moves. For example. Mouse Command: M 0 <X-Axis> <Y-Axis> 00 Values we can send (0 - 127 +ve) and (255 = -1, 254 = -2, ... 128 = -127) because bluetooth accepts unsigned integers. If my HTML Cursor is at (X=20,Y=20), How can I determine what exact value should I send to Bluetooth Screen Cursor (Accessibility Pointer) to go to exact accurate position where HTML Cursor is at.
0
0
1.6k
Aug ’22
iOS 15.6 Apps asking to turn bluetooth on when it's already on
I'm not sure if this is the app's issue or iOS, but anytime an app requires bluetooth for setup, it'll say that BT needs to be enabled with a link to the Settings > Bluetooth. Once there, I can't do anything because it's already enabled — which leaves me right back where I started...unable to install the app. And actually, the screen that always opens (#2) doesn't even have BT-related settings on it. Since it's been happening more and more, I figured I'd reach out and ask. Thanks and I just realized I'm posting this in the dev area so I'll move it. 2.
0
0
681
Aug ’22
IPhone 12 Bluetooth Connectivity Issue
Model: iPhone12 Version: iOS 15.5 Bluetooth Device: Boat wireless Head phone, JBL Head Phone, Wagnor Car Music System. My avobe Bluetooth device always connected music is playing but whenever I am getting call that time bluetooth device got disconnect and call get transfer to mobile microphone. I purchased my new iPhone on 27 june 2022 from amazon India. Aneesh Mishra
0
0
622
Jul ’22
What if an Apple Watch could protect us from mosquito bites?
One of our latest innovation and patented technology can be used in mobile devices like the Apple Watch to protect the environment from being attacked and bit by mosquitos. By modelling sensor structures this technology influences behavior patterns of mosquitoes and other insects. This allows mosquitos to be kept away without being affected. Using existing IoT hardware already available on-board, in addition to software-based algorithms, the Apple Watch could be a best fit for this application. I would appreciate if we had the opportunity to set up a personal discussion with the Apple Watch engineers.
0
0
1.4k
Jul ’22
Access other app notifications
I’m planning on making on making a prototype of a phone case that brings back the android LED light that shines a specific color depending on notifications received by the user so you can just glance at phone. I’m wondering if there is a way to see what apps have sent notifications to the user? On a side note, would it be possible to see what apps a user has to allow LED customization? Specific apps = specific lights system.
1
0
1.8k
Jul ’22
[Bluetooth][MAP][BMessage] iOS returning incorrect message folder path
Calling the Bluetooth GetMessage function for a message that was sent via Bluetooth, the returned BMessage contains an incorrect folder path to the message. The Event Report returns the correct folder path when the message is successfully sent. Scenario: Connect to Bluetooth MAP services (MNS and MAS). Call Bluetooth "PushMessage" function. Get 'Name Header' for the Message Handle. MAP-Event-Report received with Type of SendingSuccess and Folder equal to "telecom/msg/sent". Use "SetFolder" to navigate to Sent folder. Call "GetMessage" with the Message Handle (the handle is the same for both the event report and PushMessage function). The BMessage response has a folder of "telecom/msg/inbox" BMessage: BEGIN:BMSG VERSION:1.0 STATUS:UNREAD TYPE:SMS_GSM FOLDER:telecom/msg/inbox NOTIFICATION:1 BEGIN:VCARD VERSION:2.1 FN;CHARSET=UTF-8:[Contact] N;CHARSET=UTF-8:[Contact] TEL:3: END:VCARD BEGIN:BENV BEGIN:VCARD VERSION:2.1 FN;CHARSET=UTF-8:[Contact] N;CHARSET=UTF-8:[Contact] TEL:[Phone Number] END:VCARD BEGIN:BBODY CHARSET:UTF-8 LANGUAGE:UNKNOWN LENGTH:[Some Length] BEGIN:MSG iOS is the worst. END:MSG END:BBODY END:BENV END:BMSG Set Folder to telecom: 85-00-20-02-00-01-00-13-00-74-00-65-00-6C-00-65-00-63-00-6F-00-6D-00-00-4C-00-03-CB-08-60-59-D0 Set Folder to msg: 85-00-18-02-00-01-00-0B-00-6D-00-73-00-67-00-00-4C-00-03-CB-08-60-59-D0 Setting Folder to sent: 85-00-1A-02-00-01-00-0D-00-73-00-65-00-6E-00-74-00-00-4C-00-03-CB-08-60-59-D0 Calling GetMessage function: 83-00-44-01-00-23-00-44-00-33-00-42-00-43-00-34-00-45-00-39-00-31-00-30-00-35-00-41-00-41-00-34-00-43-00-32-00-00-42-00-10-78-2D-62-74-2F-6D-65-73-73-61-67-65-00-4C-00-09-14-01-01-0A-01-00-CB-08-60-59-D0 Section 3.1.4 of the Bluetooth Specification states: "telecom/msg/sent: This folder shall contain messages that were successfully sent to the network by the MSE, at least during the period of the current MAP session. In particular these messages have been queued in the 'Outbox' folder before sending and are shifted by the MSE to this folder after transmission." Apple is also nice enough to not include any additional contacts when the text message is part of a group text. This has been made unnecessarily difficult for developers to use and what's worse, it seems intentional.
0
0
1.5k
Jul ’22
Monterey/Ventura - Unable to use Bluetooth in PC/SC IFD Handler plugin from within platform binary
I am having a problem similar to this post, https://developer.apple.com/forums/thread/668231 , which is a follow up to https://developer.apple.com/forums/thread/710998?page=1#724376022 . As I am continuing to troubleshoot the problem with Bluetooth not working with 3rd party software in logged out/locked out state, I checked the TCC logs and found the application is being refused for bluetooth as shown below: 2022-10-25 12:15:31.433032+0300 localhost tccd[146]: [com.apple.TCC:access] REQUEST: tccd_uid=0, sender_pid=102, sender_uid=0, sender_auid=-1, function=TCCAccessRequest, msgID=102.162 2022-10-25 12:15:31.433223+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138]: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433280+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138] -- failed to create helperInfoDict for: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433323+0300 localhost tccd[146]: [com.apple.TCC:access] &lt;TCCDProcess: identifier=com.apple.mds, pid=102, auid=0, euid=0, binary_path=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds&gt; attempted to call TCCAccessRequest for kTCCServiceReminders without the recommended com.apple.private.tcc.manager.check-by-audit-token entitlement 2022-10-25 12:15:31.433469+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138]: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433515+0300 localhost tccd[146]: [com.apple.TCC:access] PrivilegedHelperTool: ***Helper[138] -- failed to create helperInfoDict for: /Library/PrivilegedHelperTools/***Helper 2022-10-25 12:15:31.433538+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_CTX: msgID=102.162, function=&lt;private&gt;, service=kTCCServiceReminders, preflight=yes, query=1, 2022-10-25 12:15:31.433550+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_ATTRIBUTION: msgID=102.162, attribution={accessing={&lt;TCCDProcess: identifier=***Helper, pid=138, auid=0, euid=0, binary_path=/Library/PrivilegedHelperTools/***Helper&gt;}, requesting={&lt;TCCDProcess: identifier=com.apple.mds, pid=102, auid=0, euid=0, binary_path=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds&gt;}, }, 2022-10-25 12:15:31.433934+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_SUBJECT: msgID=102.162, subject=/Library/PrivilegedHelperTools/***Helper, 2022-10-25 12:15:31.433963+0300 localhost tccd[146]: [com.apple.TCC:access] Refusing TCCAccessRequest for service kTCCServiceReminders from client Sub:{/Library/PrivilegedHelperTools/***Helper}Resp:{&lt;TCCDProcess: identifier=***Helper, pid=138, auid=0, euid=0, binary_path=/Library/PrivilegedHelperTools/***Helper&gt;} in background session 2022-10-25 12:15:31.433967+0300 localhost tccd[146]: [com.apple.TCC:access] AUTHREQ_RESULT: msgID=102.162, authValue=0, authReason=5, authVersion=1, error=(null), 2022-10-25 12:15:31.433998+0300 localhost tccd[146]: [com.apple.TCC:access] REPLY: (0) function=TCCAccessRequest, msgID=102.162 2022-10-25 12:15:34.580329+0300 localhost ***Helper[138]: (TCC) [com.apple.TCC:access] send_message_with_reply(): user tccd unavailable, sending 0x6000014e22e0 to system tccd 2022-10-25 12:15:34.580712+0300 localhost tccd[146]: [com.apple.TCC:access] REQUEST: tccd_uid=0, sender_pid=138, sender_uid=0, sender_auid=-1, function=TCCAccessRequest, msgID=138.1
Replies
0
Boosts
0
Views
1.2k
Activity
Nov ’22
In iOS 16 getting MTU size very low (20)
Hello Team, My project based on the CAN2BLE protocol. Here we are communicating with devices using Protobuf framework (https://github.com/apple/swift-protobuf). While communicating with device below having some observation Below iOS 16 MTU Size (iOS 12...15.6.1) MTU Size Without Response: 244 In iOS 16 MTU Size MTU Size Without Response: 20 Observation : First time in iOS 16 getting MTU Size Without Response 244, but in second time it will give size 20, but after restarting the device. First time it will gives MTU size 244 from next time MTU size 20. This will happen again and again. Due to this issue my app not geeting data form BLE device. Please let me know, if you need more data on the same.
Replies
6
Boosts
3
Views
4.5k
Activity
Oct ’22
Airpods actual audio latency is differ from AVAudioengine.session prediction and changes over time
Hi, I am building a realtime drum practise tool which listens to the players' practice and provides visual feedback on their accuracy. I use AVAudioSourceNode and AVAudioSinkNode for playing audio and for listening to player practise. Precious timing is the most important part of our app. To optimise audio latency I set PreferredIOBufferDuration to 64/48000sec (~1.33ms). My preferences work fine with builtin or wired audio devices. In these cases we can easily estimate the actual audio latency. However we would like to support Apple airPods (or other bluetooth earbuds) as well, but it seems to be impossible to predict the actual audio latency. let bufferSize: UInt32 = 64 let sampleRate: Double = 48000 let bufferDuration = TimeInterval(Double(bufferSize) / sampleRate) try? session.setCategory(AVAudioSession.Category.playAndRecord, options: [.defaultToSpeaker, .mixWithOthers, .allowBluetoothA2DP])     try? session.setPreferredSampleRate(Double(sampleRate))     try? session.setPreferredIOBufferDuration(bufferDuration)     try? session.setActive(true, options: .notifyOthersOnDeactivation) I use iPhone 12 mini and airPods 2 for testing. (Input always have to be the phone's builtin mic) let input = session.inputLatency // 2.438ms let output = session.outputLatency // 160.667ms let buffer = session.ioBufferDuration // 1.333ms let estimated = input + output + buffer * 2 // 165.771 session.outputLatency returns ca 160ms for my airPods. With the basic calculation above I can estimate a latency of 165.771ms, but when I measure the actual latency (time difference between heard and played sound ) I get significantly different values. If I connect my airPods and start playing immediately, the actual measured latency is ca 215-220ms at first, but it is continuously decreasing over time. After about 20-30mins of measuring the actual latency is around 155-160ms (just like the value that the session returns). However if I am using my airPods for a while before I start the measurement, the actual latency starts from ca 180ms (and decreasing over time the same way). On older iOS devices these differences are even larger. It feels like bluetooth connection needs to "warm up" or something. My questions would be: Is there any way to have a relatively constant audio latency with bluetooth devices? I thought maybe it depends on the actual bandwidth but I couldn't find anything on this topic. Can bandwidth change over time? Can I control it? I guess airPods support AAC codec. Is there any way to force them to use SBC? Does SBC codec work with lower latency? What is the best audioengine setting to support bluetooth devices with the lowest latency? Any other suggestion? Thank you
Replies
3
Boosts
0
Views
8.6k
Activity
Oct ’22
Bluetooth device(MFI) are getting duplicate in bluetooth page
Bluetooth device(MFI) are getting duplicate in Bluetooth Page Name changing or name duplicating are not seen with the following IOS versions Not reproduce in. i) iOS 14.0 – iPhone X. ii) iOS 15.1 – iPad & iPod iii) iOS 15.6.0 - iPod Reproduce in i). iOS 15.6.1 – iPhone 13 pro ii.) iOS 16.0.3 – iPhone 13 pro
Replies
0
Boosts
0
Views
1.1k
Activity
Oct ’22
Is there any way to set the Bluetooth scan frequency dynamically so that I can get the device updates frequently through didDiscoverPeripheral callback.
I have a requirement to get the RSSI values of my BLE device for approximately 30 times in a minute. I didn't find a way to pass the scan frequency to Bluetooth API. Could any one check and let me know if there is any possibility to set this dynamically?
Replies
0
Boosts
0
Views
745
Activity
Oct ’22
CoreBluetooth: Reduced MTU when updating from iOS15 to iOS16
We are seeing a strange behaviour where the maximum MTU size sent from the phone to our peripheral has decreased from 185 (iOS 15) to 77 (iOS 16 and 16.0.2). We are seeing the exact same behaviour on iPhone 11, iPhone 13 Pro Max and iPhone 14. The source code for the iOS app has not changed at all, yet for some reason the MTU seems to significantally decrease after upgrading to iOS 16. Below is a sniffer log showing how on iOS 15.7 (19H12) running on an iPhone 7, the iPhone's requested MTU is 185 bytes:- And the sniffer log below shows how on iOS 16.0.2 running on iPhone 13 Pro Max, the iPhone's requested MTU is only 77 bytes:- The sudden decrease in the iOS's MTU size is forcing the app to resort to long writes instead of normal writes (when attempting to write to a characteristic larger than 77 bytes), which is causing the interaction to break. Any idea if this is a known bug on iOS 16? And is there a fix/workaround on the app side that can revert the behaviour so that the phone requests 185 bytes? Thanks
Replies
2
Boosts
1
Views
3.4k
Activity
Oct ’22
MacOS 12.6 Monterey - Bluetooth still broken
2015 Macbook pro intel Bluetooth - Connect then drop with iPhone 12 mini SV 14.3 Some non apple devices dont appear in connection list Create alternate admin user, same problem no luck with; Reset SMC Remove .plist So far apple advisors recommend reload OS12.6 ...but I dont have confidence this will work unless other users have found success.
Replies
2
Boosts
1
Views
1.2k
Activity
Sep ’22
iOS 16 ble send message error
When my device upgraded to iOS16, the Bluetooth sent data incorrectly which "Error Domain=CBATTErrorDomain Code=13 "The value's length is invalid.""
Replies
0
Boosts
2
Views
1k
Activity
Sep ’22
CoreLocation position on MacBook Air from iPhone
Does anyone know if it is possible to get Core Location data on a MacBook from an iPhone ? So either by using a Bluetooth connection between the MacBook and iPhone or using a USB/Lightning cable or a Wifi hotspot. Note that the phone will only have a GPS signal - no wifi or mobile network.
Replies
1
Boosts
0
Views
1.3k
Activity
Sep ’22
Bluetooth from async thread
Hello, I am writing an app that communicates with a classic bluetooth device. I am attempting to integrate it into a swift ui front end.  I have created an async method that looks like : func doIndex() async -> String { obd.openConnection() } It this method is called from a task  .task{ indexOut = await appState.doIndex() } When I call this method, the bluetooth connection times out connecting every time.  ** Obd> Status changed - Connecting to OBD Device AddressString: 00-04-3e-5b-54-6f Paired?: true Connected?: false channel 1 identified 2022-09-02 17:14:42.751753-0400 odbpoc[12934:355248] [IOBluetooth] -[IOBluetoothRFCOMMChannel waitforChanneOpen] CID:1 - timed out waiting to open 2022-09-02 17:14:42.752114-0400 odbpoc[12934:355248] [IOBluetooth] -[IOBluetoothDevice openRFCOMMChannelSync:withChannelID:delegate:] CID:1 error -536870212 If I run this code in the main loop, the open happens fine.  ** Obd> Status changed - Connecting to OBD Device AddressString: 00-04-3e-5b-54-6f Paired?: true Connected?: false channel 1 identified channel open ! ** Obd> Status changed - Connected I did some digging and see recommendations to add a runloop to the async method. When I do that, Xcode tells me Runloop.current shouldn't be used in async code. Is there a recommended method for doing background IOBluetooth work ?  Thank You, David
Replies
0
Boosts
0
Views
893
Activity
Sep ’22
Bluetooth Permissions denied when trying to access while not logged in
As of Monterrey 12.3, I am getting this error from my authorization plugin. Any ideas for how to get the authorization plugin to get permissions? (I tried having it connection a daemon that has bluetooth permissions via XPC as well as an application, but that didn't work as well). The bluetooth does work when in logged mode on the application. func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) {     switch peripheral.state {     case .unknown:       Log.i("Bluetooth state is unknown")       reset()     case .resetting:       Log.i("Bluetooth is resetting")       reset()     case .unsupported:       Log.w("Bluetooth is not supported on this device")       reset()     case .unauthorized: // I keep getting this response       Log.w("Bluetooth permission was not granted")       reset()     case .poweredOff:       Log.i("Bluetooth is powered off")       reset()     case .poweredOn:       Log.i("Bluetooth is ready")       addServiceIfNeeded()     @unknown default:       Log.w("Unknown peripheral state", peripheral.state)     }   }
Replies
0
Boosts
0
Views
1.2k
Activity
Aug ’22
How can I find Bluetooth RSSI Sweeper in MacOS Ventura
I have a MX Master 3 and a WH-1000XM4, when I play music, the two of them had a lot of interference. It seems can be solved by RSSI Sweeper, but I can't find it in Ventura.
Replies
0
Boosts
0
Views
1.4k
Activity
Aug ’22
Is absolute bluetooth mouse movements supported in ios?
am trying to send Bluetooth HID Mouse Commands. However the HTML cursor coordinates relative to device screen have no accurate impact on how Screen Cursor (Accessibility Pointer) in IOS Device moves. For example. Mouse Command: M 0 <X-Axis> <Y-Axis> 00 Values we can send (0 - 127 +ve) and (255 = -1, 254 = -2, ... 128 = -127) because bluetooth accepts unsigned integers. If my HTML Cursor is at (X=20,Y=20), How can I determine what exact value should I send to Bluetooth Screen Cursor (Accessibility Pointer) to go to exact accurate position where HTML Cursor is at.
Replies
0
Boosts
0
Views
1.6k
Activity
Aug ’22
How to connect Bluetooth Classic device to iOS with Flutter
I want to connect to the OBDII device (Bluetooth classic) I have. I am writing my application with Flutter, but I cannot connect to this device on the iOS side, I cannot see or scan. Is there any way I can do this?
Replies
0
Boosts
0
Views
1.6k
Activity
Aug ’22
iOS 15.6 Apps asking to turn bluetooth on when it's already on
I'm not sure if this is the app's issue or iOS, but anytime an app requires bluetooth for setup, it'll say that BT needs to be enabled with a link to the Settings > Bluetooth. Once there, I can't do anything because it's already enabled — which leaves me right back where I started...unable to install the app. And actually, the screen that always opens (#2) doesn't even have BT-related settings on it. Since it's been happening more and more, I figured I'd reach out and ask. Thanks and I just realized I'm posting this in the dev area so I'll move it. 2.
Replies
0
Boosts
0
Views
681
Activity
Aug ’22
Grant bluetooth permission for process run from daemon service on Monterey 12.3
How can I get the daemon running in the background to be granted permission to access bluetooth?
Replies
0
Boosts
0
Views
1.8k
Activity
Aug ’22
IPhone 12 Bluetooth Connectivity Issue
Model: iPhone12 Version: iOS 15.5 Bluetooth Device: Boat wireless Head phone, JBL Head Phone, Wagnor Car Music System. My avobe Bluetooth device always connected music is playing but whenever I am getting call that time bluetooth device got disconnect and call get transfer to mobile microphone. I purchased my new iPhone on 27 june 2022 from amazon India. Aneesh Mishra
Replies
0
Boosts
0
Views
622
Activity
Jul ’22
What if an Apple Watch could protect us from mosquito bites?
One of our latest innovation and patented technology can be used in mobile devices like the Apple Watch to protect the environment from being attacked and bit by mosquitos. By modelling sensor structures this technology influences behavior patterns of mosquitoes and other insects. This allows mosquitos to be kept away without being affected. Using existing IoT hardware already available on-board, in addition to software-based algorithms, the Apple Watch could be a best fit for this application. I would appreciate if we had the opportunity to set up a personal discussion with the Apple Watch engineers.
Replies
0
Boosts
0
Views
1.4k
Activity
Jul ’22
Access other app notifications
I’m planning on making on making a prototype of a phone case that brings back the android LED light that shines a specific color depending on notifications received by the user so you can just glance at phone. I’m wondering if there is a way to see what apps have sent notifications to the user? On a side note, would it be possible to see what apps a user has to allow LED customization? Specific apps = specific lights system.
Replies
1
Boosts
0
Views
1.8k
Activity
Jul ’22
[Bluetooth][MAP][BMessage] iOS returning incorrect message folder path
Calling the Bluetooth GetMessage function for a message that was sent via Bluetooth, the returned BMessage contains an incorrect folder path to the message. The Event Report returns the correct folder path when the message is successfully sent. Scenario: Connect to Bluetooth MAP services (MNS and MAS). Call Bluetooth "PushMessage" function. Get 'Name Header' for the Message Handle. MAP-Event-Report received with Type of SendingSuccess and Folder equal to "telecom/msg/sent". Use "SetFolder" to navigate to Sent folder. Call "GetMessage" with the Message Handle (the handle is the same for both the event report and PushMessage function). The BMessage response has a folder of "telecom/msg/inbox" BMessage: BEGIN:BMSG VERSION:1.0 STATUS:UNREAD TYPE:SMS_GSM FOLDER:telecom/msg/inbox NOTIFICATION:1 BEGIN:VCARD VERSION:2.1 FN;CHARSET=UTF-8:[Contact] N;CHARSET=UTF-8:[Contact] TEL:3: END:VCARD BEGIN:BENV BEGIN:VCARD VERSION:2.1 FN;CHARSET=UTF-8:[Contact] N;CHARSET=UTF-8:[Contact] TEL:[Phone Number] END:VCARD BEGIN:BBODY CHARSET:UTF-8 LANGUAGE:UNKNOWN LENGTH:[Some Length] BEGIN:MSG iOS is the worst. END:MSG END:BBODY END:BENV END:BMSG Set Folder to telecom: 85-00-20-02-00-01-00-13-00-74-00-65-00-6C-00-65-00-63-00-6F-00-6D-00-00-4C-00-03-CB-08-60-59-D0 Set Folder to msg: 85-00-18-02-00-01-00-0B-00-6D-00-73-00-67-00-00-4C-00-03-CB-08-60-59-D0 Setting Folder to sent: 85-00-1A-02-00-01-00-0D-00-73-00-65-00-6E-00-74-00-00-4C-00-03-CB-08-60-59-D0 Calling GetMessage function: 83-00-44-01-00-23-00-44-00-33-00-42-00-43-00-34-00-45-00-39-00-31-00-30-00-35-00-41-00-41-00-34-00-43-00-32-00-00-42-00-10-78-2D-62-74-2F-6D-65-73-73-61-67-65-00-4C-00-09-14-01-01-0A-01-00-CB-08-60-59-D0 Section 3.1.4 of the Bluetooth Specification states: "telecom/msg/sent: This folder shall contain messages that were successfully sent to the network by the MSE, at least during the period of the current MAP session. In particular these messages have been queued in the 'Outbox' folder before sending and are shifted by the MSE to this folder after transmission." Apple is also nice enough to not include any additional contacts when the text message is part of a group text. This has been made unnecessarily difficult for developers to use and what's worse, it seems intentional.
Replies
0
Boosts
0
Views
1.5k
Activity
Jul ’22