Hardware

RSS for tag

Delve into the physical components of Apple devices, including processors, memory, storage, and their interaction with the software.

Posts under Hardware subtopic

Post

Replies

Boosts

Views

Activity

Homekit Accessory Audio config rejected
I am integrating a camera with HomeKit. The audio and video streams work in the HomeKit Accessory Tester, but they do not work when using the Home app on an iPhone (Failed to select audio config – Could not find the right match in the supported list. Session is not in progress). I have a single audio configuration: Opus 16kHz mono with a constant bitrate of 24kbps.
1
0
74
Jul ’25
Battery issue iPhone 13 ProMax iOS 18.6 Beta
Since updating to iOS 18.6 beta on my iPhone 13 ProMax, my battery usage has well over doubled. Also, my phone has become noticeably sluggish and unresponsive. For instance, after being charged to 100% my phone has dropped to 26% with only 1 hr 2m screen on time and 49m of screen off time. My phone gets noticeably warm to the touch, even through the case. Any ideas on the cause or any remedy?
1
0
294
Jul ’25
HomeKit ADK Remote.OpenSSL fails with No setup info found in key-value store during pairing (HAPPlatformAccessorySetup.c:93)
Hello Apple Developers, I'm currently working on building a custom HomeKit Accessory using the HomeKit ADK v6.3 and running the Remote.OpenSSL sample on a Raspberry Pi 4 (64-bit Ubuntu / Linux Kernel 6.1.21-v8+). I'm trying to pair the accessory via the MFi HomeKit ADK pairing process. I've successfully compiled the ADK using: The application (Remote.OpenSSL) launches correctly, and the accessory server starts as expected, broadcasting via mDNS. However, when I attempt to initiate pairing via iOS (or simulate pairing), the following error occurs: Fault fatal error - HAPPlatformAccessorySetupLoadSetupInfo @ PAL/Linux/HAPPlatformAccessorySetup.c:93 This causes the application to crash.
1
0
89
Jul ’25
The volume of the human voice recorded by the microphone is too low when media is playing
We found that on some iPad devices (such as iPad8,9/iPad OS/18.5), when the media is playing, the recorded human voice is very small and is basically suppressed by the sound of the playing media. When the media is not playing, the human voice can be recorded. Likely when use screen recording with microphone, the ambient sound is also basically suppressed by the media sound.
1
0
199
Jul ’25
Rapid Battery Health Degradation on MacBook Pro (Less Than 1 Year Old, 302 Cycles)
I’m currently experiencing a concerning battery issue on my MacBook Pro and wanted to share it here in case others are facing something similar or if it’s possibly tied to a software-level behavior. Device & Software Info: • MacBook Pro 14” (2023) • macOS 26.0(25A5316i) • Battery Cycle Count: 307 • Battery Health: 91% (as of today) • Condition: Normal Issue: • Battery health has dropped from 96% to 91% in less than a week. • For the last week each day, the maximum capacity seems to decline by 1%, even when usage is light and the Mac is plugged in most of the time with Battery Health Management enabled. • When the battery drops below 10%, it drains extremely fast — the percentage decreases nearly second by second, which doesn’t feel normal.
1
0
225
Jul ’25
iBeacon Region Monitoring Issue When App is Terminated
I am writing to seek assistance regarding an iBeacon implementation issue we are experiencing in our iOS application. Issue Description: We have successfully implemented iBeacon functionality in our app, but we are encountering a specific problem with background region monitoring: When app is in foreground: Our app successfully detects iBeacon signals and triggers notifications when entering beacon regions. When app is terminated: Our app fails to respond when entering our own iBeacon regions. However, we have observed an interesting behavior: Third-party iBeacon apps can still detect and trigger notifications for their beacon regions After a third-party app triggers, our app suddenly starts receiving notifications for our own iBeacon hardware Technical Details: iOS Version: 18.0 Xcode Version: 16.。4 Device Models Tested: iPhone 15 Pro Questions: What could be causing our app to fail detecting iBeacon regions when terminated, while third-party apps work correctly? Why does our iBeacon detection start working only after another iBeacon app triggers? Are there specific implementation requirements or best practices for reliable background iBeacon monitoring? Could this be related to iOS background app refresh policies or system resource management? Current Implementation: We have implemented the standard Core Location framework with: CLLocationManager with appropriate authorization Region monitoring setup with CLBeaconRegion Background modes enabled for location services Proper delegate methods implemented We would greatly appreciate your guidance on resolving this issue, as it significantly impacts our app's user experience. Thank you for your time and support.
1
0
82
Aug ’25
iphone17 Core Bluetooth Background Execution Modes
Hello. Is there a solution to the issue where Core Bluetooth does not run in the background on the iPhone17? https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html The bluetooth-central Background Execution Mode When an app that implements the central role includes the UIBackgroundModes key with the bluetooth-central value in its Info.plist file, the Core Bluetooth framework allows your app to run in the background to perform certain Bluetooth-related tasks. While your app is in the background you can still discover and connect to peripherals, and explore and interact with peripheral data. In addition, the system wakes up your app when any of the CBCentralManagerDelegate or CBPeripheralDelegate delegate methods are invoked, allowing your app to handle important central role events, such as when a connection is established or torn down, when a peripheral sends updated characteristic values, and when a central manager’s state changes. Although you can perform many Bluetooth-related tasks while your app is in the background, keep in mind that scanning for peripherals while your app is in the background operates differently than when your app is in the foreground. In particular, when your app is scanning for device while in the background: The CBCentralManagerScanOptionAllowDuplicatesKey scan option key is ignored, and multiple discoveries of an advertising peripheral are coalesced into a single discovery event. If all apps that are scanning for peripherals are in the background, the interval at which your central device scans for advertising packets increases. As a result, it may take longer to discover an advertising peripheral. These changes help minimize radio usage and improve the battery life on your iOS device.
1
0
98
Sep ’25
Alternative to generate programmatically a local hotspot like in Android?
Hello, we are developing hardware that needs to connect to an iPhone via Wi-Fi to send requests to a server. On Android, we have managed to create a programmatic local hotspot within the app to facilitate connection and improve the user experience. On iOS, however, Personal Hotspot must be manually enabled from the system settings, and the user must manually enter the SSID and password, which significantly degrades the UX. My questions are: Is there a workaround, unofficial method, or private API to generate a local hotspot from an app on iOS, similar to what can be done on Android? Is there an alternative within the MFi program or through specific frameworks to facilitate a quick and automatic connection between the hardware and the iPhone without relying on the manual Personal Hotspot? Are there any best practices for improving the local Wi-Fi connection experience between an accessory and an iPhone in the absence of hotspot controls? I would appreciate any guidance, experience, or resources that would help me better understand the feasible options in iOS for scenarios where fast and direct communication between hardware and mobile devices via Wi-Fi is required. Translated with DeepL.com (free version)
1
0
77
Oct ’25
CallKit Display and Audio Output Mismatch with Unintended UI Reversion
I'm building a React Native call application using the following combination of libraries: https://github.com/react-native-webrtc/react-native-callkeep https://github.com/react-native-webrtc/react-native-webrtc https://github.com/react-native-webrtc/react-native-voip-push-notification When I press the speaker button on the call screen displayed by CallKit and change it to ON, the speaker button display on the call screen reverts back to OFF after a few seconds. However, when the speaker button display reverts to OFF, the actual audio output route does not return to the earpiece - the audio continues to output from the speaker without any change. Could you please advise on what cases might cause the speaker button display to revert, and if there are any potential solutions?
1
0
107
Oct ’25
My user can't pair bluetooth peripheral, due to device lost in SYSTEM BLUETOOTH PREPHERAL LIST
[sysdiagnose_2025.10.01_18-29-27+0800_iPhone-OS_iPhone_23A341] I got sysdiagnose from my app user.He can't pair his bluetooth peripheral. in the sysdiagnose,I found this: device AC:7A:94:85:47:F4 is already paired, with a different irk (old:F5 C9 4F 5A 4E BE D0 20 0A 1F F7 DC 3A 89 E0 3A new 4A 8A 00 4C FF D0 CE 7B 61 13 FA B3 84 F4 65 29 ). Unpair first and then restart pairing. (status=65535) but there is no device in his iphone's SYSTEM BLUETOOTH PREPHERAL LIST. I don't know how to delete the irk info when you can't find it in SYSTEM BLUETOOTH PREPHERAL LIST. PLEASE answer me. THANKS.
1
0
129
Oct ’25
Why is CoreNFC unavailable from App Extensions (appex)? Any supported workarounds for authenticators?
Hi everyone — I’m developing an iOS passkey/password manager where the private key material must be stored on a physical device (NFC card / USB token). I’m hitting a hard limitation: CoreNFC is not available for use from app extensions, which prevents an appex (e.g. password/credential provider or other extension) from talking directly to an NFC card during an authentication flow.  My questions: 1. Is there any plan to make CoreNFC (or some limited NFC-API) available to app extensions in a future iOS version? If not, could Apple clarify why (security/entitlements/architecture reasons)? 2. Are there any recommended/approved workarounds for a passkey manager extension that needs to access a physical NFC token during authentication? (For example: background tag reading that launches the containing app, or some entitlement for secure NFC card sessions.) I’ve read about background tag reading, but that seems to be about system/OS handling of tags rather than giving extensions direct NFC access.  3. Is the only supported pattern for my use case to have the containing app perform NFC operations and then share secrets with the extension via App Groups / Keychain Sharing / custom URL flow? (I’m already evaluating App Groups / Keychain access groups for secure sharing, but I’d like official guidance.)  Implementation details that may help responders: • Target: iOS (latest SDK), building a Credential Provider / password manager extension (appex). • Intended physical token: NFC smartcard / ISO7816 contactless (so CoreNFC APIs like NFCISO7816Tag would be ideal). • Security goals: private key never leaves the physical token; extension should be able to trigger/sign during a browser/app AutoFill flow. Possible alternatives I’m considering (open to feedback): designing the UX so that the extension opens the main app (only possible for Today widget in a supported way) which runs the NFC flow and stores/returns a short-lived assertion to the extension. Are any of these patterns sanctioned / recommended by Apple for credential providers?  Thanks — any pointers to docs, entitlement names, or example apps/samples would be extremely helpful.
1
0
105
Oct ’25
Since I updated my iPhone 13 to this new update I have two problems.
Since I updated my iPhone 13 to this new update I have two problems First: the battery discharges too fast or it gets stuck and doesn't discharge until I turn it off and turn it back on. Second: I see in my screen time a page that I had never seen is called imasdk.googleapis.com which I had never occupied and they tell me that it is a failure of the new update I hope you can help me fix that, since this mobile phone is new and already brings the faults by the ios
1
0
92
Oct ’25
CoreNFC: NFCTagReaderSession fails with “Session invalidated unexpectedly” (after enabling NFC Scan, paid team, and custom dev profile)
Device: iPhone [model], iOS 18.6.2 Xcode: 16.0.x Team: Individual paid Apple Developer Program (not Personal Team), shows as my full name in Xcode I’m trying to use CoreNFC via NFCTagReaderSession in a small SwiftUI app (part of a larger project). So far I’ve done: • Enrolled in the Apple Developer Program (individual). • Confirmed that in Certificates, Identifiers & Profiles → Identifiers, my App ID for com.<…> has Near Field Communication Tag Reading enabled. • Created an iOS App Development provisioning profile for that App ID, including: • my Apple Development certificate • my iPhone device • Downloaded the profile, double-clicked it, and set it in Xcode under Signing & Capabilities with: • Team = my full-name team • “Automatically manage signing” off, using the custom profile. • Added the NFC Scan capability in Signing & Capabilities. • Added Privacy - NFC Scan Usage Description (NFCReaderUsageDescription) in Info.plist with a non-empty string. The app builds and runs on device. When I start the session: func beginScanning() { print("NFCTagReaderSession.readingAvailable =", NFCTagReaderSession.readingAvailable) session = NFCTagReaderSession(pollingOption: [.iso14443, .iso15693], delegate: self, queue: nil) session?.alertMessage = "Hold your iPhone near your Ori tag." session?.begin() } func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) { print("NFC session invalidated:", error.localizedDescription) } readingAvailable is false, and I immediately see: NFC session invalidated: Session invalidated unexpectedly Earlier in this process I was seeing XPC sandbox messages like: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.nfcd.service.corenfc was invalidated: failed at lookup with error 159 - Sandbox restriction." Those went away after I created the explicit iOS App Development profile and pointed the target at it, but the session still invalidates right away and readingAvailable never becomes true. Safari can read NDEF URL tags on this device, so the NFC hardware is working. Question: Is there anything else required on the App ID / provisioning / team side to enable CoreNFC with NFCTagReaderSession for an individual (non-enterprise) developer account? Or any known issues where readingAvailable stays false even with NFC Tag Reading enabled and a custom iOS App Development profile? Any hints on what I might still be missing would be greatly appreciated.
1
0
152
Nov ’25
How to connect to a IOUSBHostInterface
I have poked around the web looking for a good example to do this and I haven't found a working example. I need to connect to a USB Device, its multiple ports and supports what looks to be a root port and 4 other ports I am no expert in USB but I do know how to write a kext and client drivers, but thats really not the way to solve this. I need to display the serialized output from these USB ports for a development board. I would rather do this on my Mac than have to cobble up a Linux machine and mess around with Linux. Here is the output from ioreg MCHP-Debug@03100000 <class IOUSBHostDevice, id 0x105f6fdc2, registered, matched, active, busy 0 (20 ms), retain 27> MCHP-Debug@0 <class IOUSBHostInterface, id 0x105f6fdc8, registered, matched, active, busy 0 (13 ms), retain 5> +-o MCHP-Debug@0 <class IOUSBHostInterface, id 0x105f6fdc8, registered, matched, active, busy 0 (13 ms), retain 5> +-o MCHP-Debug@1 <class IOUSBHostInterface, id 0x105f6fdc9, registered, matched, active, busy 0 (11 ms), retain 5> +-o MCHP-Debug@2 <class IOUSBHostInterface, id 0x105f6fdcb, registered, matched, active, busy 0 (9 ms), retain 5> | | | | | +-o MCHP-Debug@3 <class IOUSBHostInterface, id 0x105f6fdcc, registered, matched, active, busy 0 (7 ms), retain 5> I have been able to open a inservice to the device at the top level, but I get an error when I use. usbHostInterface = [[IOUSBHostInterface alloc] initWithIOService:usbDevice options: IOUSBHostObjectInitOptionsNone queue: queue error: &error interestHandler: handler]; Error:Failed to create IOUSBHostInterface. with reason: Unable to obtain configuration descriptor. Assertion failed: (usbHostInterface), function main, file main.m, line 87. I started using DeviceKit but I received signing errors and I shouldn't have to go down that path just to dump data from a USB port? Any suggestions would be great, most of the Apple documentation on USB ports is like 20 years old and the new stuff pushes you towards DeviceKit.
1
0
107
2w