HomePod Mini running 18.6 build 22M5054/b - will not update to HomePod OS26
have tried un-enrollment, reset, removal, etc - no dice - anyone else seeing this ? Any known work arounds ?
iPad is running iPadOS 26 Relase 2 - 23A5276f
Hardware
RSS for tagDelve into the physical components of Apple devices, including processors, memory, storage, and their interaction with the software.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I am writing to report an issue I’m facing after updating my iPhone 11 Pro Max to iOS 26.
I have been using the Hollyland Lark M2 external microphone via the Lightning port, and it was working perfectly before the update. However, after upgrading to iOS 26, the iPhone no longer detects it correctly. The device now recognizes the mic as a pair of wired earphones, and it fails to capture any audio input.
The microphone itself works flawlessly on other devices, so this appears to be an iOS-specific issue.
Could you please confirm:
• Whether this is a known issue in iOS 26?
• If there are any settings or steps I can take to resolve this?
• Whether a fix is planned in an upcoming iOS patch?
I would appreciate any guidance or solution you can provide.
Thank you for your support.
Topic:
App & System Services
SubTopic:
Hardware
Hi there!
I'm developing a dual-mode bluetooth accessory and would like to pair it through AccessorySetupKit. I'm using an ESP32 with Bluekitchen btstack. This supports CTKD, which seems to be a requirement for the Bluetooth transport bridging according the WWDC19 session 901. I've been in contact with the btstack developer and verified that I can get the device to generate an LTK for the classic transport when reading an encrypted attribute. I'm not able to get this to work with the bluetoothTransportBriding option with AccessorySetupKit though.
What I've found so far is that if I omit the .bluetoothTransportBriding option during pairing I will get a pairing request when I read an encrypted attribute after connecting with the CBConnectPeripheralOptionEnableTransportBridgingKey option. If I accept this request it seems like the system automatically brings up the A2DP profile.
However if I include .bluetoothTransportBriding and/or .bluetoothPairingLE this option does not pop up, but the system does not bring up the A2DP profile. In this case things seem to end up in a weird situation where the device doesn't show up for pairing in Bluetooth Settings either, making it impossible to manually connect for A2DP.
Based on the AccessorySetupKit example from WWDC24 I've created a dice accessory firmware for ESP32 using btstack. The code for this is available here: https://github.com/ljodal/esp32-btstack-ctkd-test
I've also tweaked the AccessorySetupKit example app for iOS to add the ASAccessory.SupportOptions. The code for that is available here: https://github.com/ljodal/accessorysetupkit-ctkd-test
Is there any documentation available anywhere on what is expected of the device for Bluetooth Transport Bridging to work with AccessorySetupKit?
Topic:
App & System Services
SubTopic:
Hardware
Tags:
External Accessory
Accessories
Core Bluetooth
AccessorySetupKit
Macbook pro M4 - will not accept any power adapter after beta update
iPhone 16 pro - same exact problem
Devices are dead
Tried multiple chargers - Watch and IPad appear to be taking a charge for now..
Hello Apple team and community,
I’m reporting a critical issue affecting iPhone 13 (128 GB) on iOS 26 Public Beta 3.
Problem Summary:
• Device stays stuck at 1% battery, even while charging
• Battery Health shows 0% in Settings
• Phone reboots every 5 minutes while unplugged
• Only works when connected to power
• Cannot update, charge properly, or maintain uptime
Additional Context:
• The issue appeared immediately after installing iOS 26 beta 3
• Affected devices often have a replaced battery (even official or high-quality replacements)
• Seems to be a software validation bug related to battery firmware
• Reported by many users across Reddit, Apple Forums, and Twitter — but not listed in Known Issues
What Has Been Tried:
• Recovery Mode / Safe charging / Clean install (same version) – no effect
• Third-party repair tools (ReiBoot, 3uTools) — partial workaround
• Jailbreak with Nugget or iCleaner to disable crash daemons – temporarily helps
• Apple Support suggested full device replacement (!)
⸻
Request:
Please investigate and acknowledge this issue. This bug renders devices unusable for users with legitimate battery replacements — we need a fix in an upcoming beta.
Hi everyone,
while testing HKWorkoutSession with HKLiveWorkoutBuilder on iOS 26 Beta (cycling workout), I noticed the following behavior:
– Starting a cycling HKWorkoutSession automatically connects to my Bluetooth heart rate monitor and records HR into HealthKit ✅
– However, my Bluetooth cycling power meter and cadence sensor (standard BLE Cycling Power & CSC services) are not connected automatically, and no data is recorded into HealthKit ❌
On Apple Watch, when starting a cycling workout, these sensors do connect automatically and their data is written to HealthKit — which is exactly what I would expect on iOS as well.
Question:
Is this by design, or is support for power and cadence sensors planned for iOS in the same way as on watchOS?
Or do we, as developers, need to implement the BLE Cycling Power and CSC profiles ourselves (via CoreBluetooth) if we want these metrics?
Environment:
– iOS 26 Beta
– HKWorkoutSession & HKLiveWorkoutBuilder (cycling)
– Bluetooth HRM connects automatically
– BLE power & cadence sensors do not
This feature would make it much easier to develop cycling apps with full HealthKit integration, and also create a more consistent user experience compared to watchOS.
Thanks for any insights!
Topic:
App & System Services
SubTopic:
Hardware
Tags:
Health and Fitness
HealthKit
Core Bluetooth
WorkoutKit
I am working on an app that requires the usage of CoreBluetooth – using both its CBPeripheralManager and CBCentralManager classes. Our app works with other phones and hardware peripherals to exchange data – so we wanted to explore adding AccessorySetupKit to streamline the hardware connection process.
AccessorySetupKit has been integrated (while CBPeripheralManager is turned off) and works great, but even with ASK added to our app's plist file and not in use, CBPeripheralManager fails with error: Cannot create a CBPeripheralManager while using AccessorySetupKit framework.
Is there any workaround or suggested path forward here? We'd still really like to use ASK while keeping our existing functionality, but are not seeing a clear way to do so.
Hello,
I am a developer planning to build an application using Apple's new SpeechTranscriber technology.
I am facing an issue where SpeechTranscriber is not available on my iPad Pro (11-inch, 2nd generation, model number: MXDC2J/A), even though I have updated it to iPadOS 26. I was under the impression that SpeechTranscriber would be available on any device running iPadOS 26. Could you please clarify if this is incorrect?
Furthermore, I am planning to purchase a new iPad with an A16 chip for the development and deployment of this application. Can you confirm if SpeechTranscriber will be fully functional on an iPad equipped with the A16 chip?
Thank you for your assistance.
Prerequisite: After the MDM APP issues the command, the camera on the phone is no longer visible (unusable).
After upgrading to iOS 26.1, the isSourceTypeAvailable: UIImagePickerControlSourceTypeCamera method keeps returning true when the camera is unavailable.
The isSourceTypeAvailable: UIImagePickerControlSourceTypeCamera method on iOS 26.0.1 is normal, returning false when the camera is unavailable and true when it is available.
Problem Description:
Since Our USB hubs are capable of sending Vendor Defined Messages (VDMs) over a USB Type-C cable connection, they can programmatically place iOS, iPadOS, and macOS devices into DFU mode—without requiring any physical button interaction.
Recently, we identified an issue when invoking DFU mode on an iPhone 15 using this method. Upon entering DFU mode, the device enumerates with USB Product ID 0x1881 (“Debug USB” – KIS interface). At that point, the deviceinterfaced daemon (launched by launchd) immediately detects the device and claims exclusive access to the USB interface.
As a result, when our API Service attempts to communicate with the device through standard IOKit methods, it fails with the following error:
0xe00002c5 ((iokit/common) exclusive access and device already open)
This prevents our libraries from reading the iBoot string (USB serial number string) that Apple devices normally expose in standard or recovery modes—information that includes ECID, CPID, CPRV, CPFM, BDID, and SCEP. This creates a significant barrier, as our API service becomes unable to perform subsequent device restoration operations as we missed the critical information.
Request for Guidance:
I’ve included the following context for your analysis and review. Using the launchctl unload command can temporarily stop it; however, I’d like to know if there’s an API-level mechanism to programmatically prevent deviceinterfaced from claiming access from within our API Service.
Could you please advise on the following points?
1. Managing deviceinterfaced Access
• What is the proper way to stop or prevent deviceinterfaced from claiming exclusive access in this case, so that the API Service can read device information and starts restoring the device from that point?
• Is there a recommended method or entitlement that allows third-party services to communicate with Apple devices while they are in Debug USB (KIS) mode?
2. Guidelines and API Access
• Are there any Apple-supported APIs or developer guidelines that would permit controlled access to the iBoot interface without conflicting with deviceinterfaced?
Topic:
App & System Services
SubTopic:
Hardware
Hi, we have developed an application that streams data from two BLE peripherals at a rate of 14.5kbps per peripheral. Until now, our devices streamed in near real time with no lag on all Apple devices with Bluetooth 5.0 or greater. Since the release of the iPhone 17 series and the iPad A16, we have reports from users of the data being streamed at significantly lower rates than expected.
Any help here would be greatly appreciated as our customers are being affected by this change.
Title
iOS App detecting external USB mass storage connection without user interaction
Background
We are developing an iOS application that connects to an action camera device via Bluetooth and Wi-Fi for control and data transfer.
In addition to wireless connectivity, our product requirements include supporting USB Mass Storage mode, where the camera (or a generic USB flash drive) is connected to an iPhone using a Lightning / USB-C adapter and appears in the Files app as an external drive.
Requirement
Our app needs to detect when an external USB mass storage device is connected or disconnected, with the following constraints:
The app is already running in the foreground
No user interaction is performed (no button tap, no document picker, no import UI)
The USB device can be:
A generic USB flash drive
An empty USB drive (no photos or videos)
The app only needs to know:
Whether an external USB storage device has been connected or removed
No need to access device identity, vendor info, or low-level USB details
The expected behavior is simply to update the app’s internal state or UI when a USB storage device becomes available.
Investigation Performed
We have already investigated and tested the following public and documented approaches, all of which did not provide a reliable or any notification for USB mass storage insertion:
ExternalAccessory / MFi
Not applicable for generic USB storage devices
Darwin notifications / CoreFoundation
Using notify_register_dispatch and CFNotificationCenterGetDarwinNotifyCenter
System USB / storage related notifications do not fire for third-party apps
File system APIs
NSFileManager mountedVolumeURLsIncludingResourceValuesForKeys
On iPhone, external USB drives visible in the Files app are not exposed as mounted volumes to third-party apps
FileProvider / DocumentPicker
Only provides access after explicit user interaction
No background or passive notification of availability
ImageCaptureCore
Limited to PTP camera devices
Does not apply to generic USB mass storage
Based on our testing, none of the public APIs provide a way to detect USB mass storage insertion automatically without user interaction.
Question to Apple
We would like to confirm the official platform behavior and capability boundary:
Is there any public, documented, App Store–approved API on iOS that allows a third-party app to be notified when a generic USB mass storage device is connected or disconnected, without user interaction?
If not:
Is this limitation intentional by platform design?
Is the recommended approach to rely exclusively on user-initiated document access flows (e.g. document picker, import UI)?
Are there any recommended best practices for apps that need to update their UI or internal state based on the availability of external USB storage devices?
Our goal is to ensure that our implementation fully complies with iOS platform guidelines and App Store Review requirements.
Environment
iOS versions tested: iOS 18 (latest public release)
Devices: iPhone models with Lightning / USB-C
USB devices: generic USB flash drives (including empty drives)
Closing
We appreciate clarification on whether this capability is intentionally restricted on iOS and how Apple recommends designing user experience around external USB storage access.
Thank you for your guidance.
Topic:
App & System Services
SubTopic:
Hardware
When trying to use the MIDI Maestro app by Singular Sound, BLE peripherals experience unwanted connection-parameter renegotiation and disconnections on iOS 26, beta iOS 26.2 does not fix this issue. iOS 26 BLE communications are being sent too fast to be read correctly by the hardware device, and iOS 26.2 refuses communication altogether.
Topic:
App & System Services
SubTopic:
Hardware
Hello.
I am attempting to wrap the C library libnfc as a Swift library. This is not for use on macOS - it's mainly for use on Linux (Raspberry Pi).
I have a USB reader and my code appears to work so far, however the code/test/debug cycle is suboptimal if I'm running the code on the Pi.
As I use a Mac for day-to-day coding, I'd prefer to use Xcode and my Mac for development. MacOS appears to capture the NFC hardware for its own frameworks and attempting to open a connection to the USB device gives a Unable to claim USB interface (Permission denied) error.
ioreg shows that the hardware is claimed by an Apple framework:
"UsbExclusiveOwner" = "pid 10946, com.apple.ifdbun"
Is there a way to temporarily over-ride that system and use the hardware myself? I've tried Googling but most of the replies are out of date and Claude's advice launchctl unload /System/Library/LaunchDaemons/com.apple.ifdreader.plist doesn't appear to work...
I'm wary of disabling SIP - is there a simple way to have access to the hardware myself?
Thanks.
Hello everyone,
I am developing an iOS application that relies on accelerometer data for precise motion and reaction-time measurements.
Based on practical testing, it appears that third-party iOS applications receive accelerometer data at a maximum rate of approximately 100 Hz, regardless of hardware capabilities or requested update intervals.
I would like to ask for clarification on the following points:
Is there an officially supported way for third-party iOS apps to access accelerometer data at sampling rates higher than ~100 Hz?
If the hardware supports higher sampling rates, is this limitation intentionally enforced at the iOS level for third-party applications?
Are there any public APIs, entitlements, or documented approaches that allow access to higher-frequency sensor data, or is this restricted to system/internal components only?
Thank you in advance for any clarification.
Topic:
App & System Services
SubTopic:
Hardware
Which HomeKit API serves for the Home application scene (HMActionSet)-related functionality “Remove from Home View” and “Add to Home View”?
There must be a public API for that, for at the very least one 3rd party application shows/hides scenes appropriately as they are set up in Home; nevertheless, whatever I try, I can't find the API.
Thanks!
My MacBook Pro M5 running MacOS Tahoe 26.3 beta fails to detect two identical ASUS ROG Swift OLED PG32UCDM monitors simultaneously. Only one display is recognized at a time.
One potential root cause might be that both monitors report identical binary EDID serial numbers (0x01010101), and the MacBook Pro M5 appears to use this value exclusively for display identity rather than combining it with other more detailed information (e.g., port, or alphanumeric serial number).
I've verified that the monitor EDID binary serial numbers are in fact identical -- however the alphanumerical serial numbers are not identical.
NOTE: This behavior is specific to the MacBook Pro M5 — when connecting both monitors via usb-c to a Mac Mini M4 Pro running the same MacOS Tahoe 26.3 beta, the monitors work fine. The OS detects both and assigns different names to them (PG32UCDM (1) and PG32UCDM (2)).
NOTE: I could be wrong about this root cause, I don't have a way to disprove it, though the fact the monitors work fine on a Mac Mini is suspicious.
What I have tried:
Connecting the two monitors using different monitor ports (one on DisplayPort, another on HDMI, etc.), and different MacBook ports (one on HDMI, another on USB-C, etc.)
Bumping down the resolution on the monitors to "1920x1080 (low resolution)" and 30Hz to rule out bandwidth issues.
Connecting one, or both, monitors to CalDigit TS5 Plus dock. Neither alternate configuration yields the device recognizing both screens.
Using BetterDisplay to import a manually-edited EDID for the screen, with a different binary EDID value, manufacturer name, etc.
I've also verified that if I plug in my Apple Studio Display as one of the monitors, then the MacBook recognizes both one of the PG32UCDM monitors and the Studio Display at the same time. The issue seems to occur only when both monitors plugged into it are the same PG32UCDM model.
When I have both monitors plugged into my MacBook, each time I disconnect the cable to whichever monitor is currently recognized, it immediately recognizes the other monitor. Plugging the cable for the disconnected monitor back in has no effect.
I'm at a loss.
Has anyone run into this issue and found a successful workaround that is not one of the approaches I've described above?
Topic:
App & System Services
SubTopic:
Hardware
as i want to tract activity of iphone user using core motion framework , guide me through .
Since 17.4 Dev Beta 2, I have been having Bluetooth issues.
I had hoped it would have cleared up but even in 17.4.1 it continues.
Airpod and Echo Auto are the only 2 audio devices I have.
The audio will become chopping, rubber band or sound robotic and sometime completely disconnect.
While driving it will occur on both audio devices.
Sometimes I'm stopped at red light and the issue occurs.
The phone is less than 3 feet from the device at all times.
I have read forums and removed and readded the devices but that did not help.
I really do not want to have to reset my phone since my 2FA apps do not recover in a restore.
Anyone have any suggestions?
We just updated our ATS to the latest 8.3.0 version and tried to run the iAP2 Session Test via BPA100 Bluetooth Analyzer and we are experiencing this EXC_BAD_INSTRUCTION. This same test still seems to work on ATS version 6. Please advise.
Process: ATS [1782]
Path: /private/var/folders/*/ATS.app/Contents/MacOS/ATS
Identifier: com.apple.ATSMacApp
Version: 8.3.0 (1826)
Build Info: ATSMacApp-1826000000000000~2 (1A613)
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2025-01-27 11:05:21.1334 -0800
OS Version: macOS 15.2 (24C101)
Report Version: 12
Bridge OS Version: 9.2 (22P2093)
Anonymous UUID: 098E2BB5-CB98-CA1C-CEFE-188AF6EFE8CF
Time Awake Since Boot: 9700 seconds
System Integrity Protection: enabled
Crashed Thread: 2 com.apple.ATSMacApp.FrontlineFrameworkInterface
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 4 Illegal instruction: 4
Terminating Process: exc handler [1782]
Topic:
App & System Services
SubTopic:
Hardware
Tags:
Developer Tools
External Accessory
Testing
Core Bluetooth