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

Bluetooth Connectivity Issues
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?
4
0
1.5k
Jun ’25
Find My Network System
Hey everyone, how’s it going? I’d like to know if, by enrolling in Apple’s MFi program, I’ll gain access to develop my own tags and my own app to track them using Apple’s Find network. I also read that there’s an estimated cost of $4 per device—does that apply to each device produced, or only at the time of registering the device, with no fee for additional units?
2
0
289
May ’25
XPC Connection Error
I have an accessory with MFi authenticaiton passed(got 0xAA05) and identification accepted (got 0x1D02). But when I try to open the target stream by using iAP2 EA session framework, I always enounter the same error looking like: XPC connection error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.accessories.externalaccessory-server was invalidated from this process." UserInfo={NSDebugDescription=The connection to service named com.apple.accessories.externalaccessory-server was invalidated from this process.} anybody can tell me what it related with? And what can I do to go through it quickly? Thank you much in advance.
1
0
157
May ’25
Confused by what is allowed for System Level Apple Watch Bluetooth Connection. Does it require MFi or are there only some BLE chips allowed?
Hello. I am building a BLE device that is Activity Fitness based and would like a "System Level" BLE connection on WatchOS using an ESP32 (I have built a test of this on the firmware side). Meaning I do not want my iOS app to pass the BLE connection to the WatchOS app. It seems like these App Level connections do not get as many background updates as a System Level connection, and also requires the WatchOS app to be launched to connect to the BLE device The System Level BLE connection (WatchOS Settings > BLE > Health Devices) allows for auto connection in the background, and gets more reliable background communication between the BLE device and the Apple Watch On the Apple MFi Page it only mentions iOS: From Apple MFi Page: :: Who does NOT need to join - Developers and manufacturers of accessories that connect to an Apple device using only Bluetooth Low Energy, Core Bluetooth, or standard Bluetooth profiles supported by iOS Does this apply to WatchOS as well? So, if I am making an BLE device that is Activity Based, and has one of the allowable Health Device UUIDs, is the BLE System Connection allowed using any BLE chip? Including say an ESP32 I have built a test BLE firmware that is a Health Device UUID, and the WatchOS sees it as a health device Is this fine then? No need for MFi application and also no need to worry about which BLE chip is used? thanks
3
0
154
May ’25
NEHotspotConfiguration apply returns userDenied error without user interaction
I’m encountering an unexpected issue while using NEHotspotConfigurationManager.shared.apply(...) to connect to a Wi-Fi network. Specifically, I’m receiving a userDenied error, even though the user did not interact with any system prompt. Here’s a version of the code I’m using: let config = NEHotspotConfiguration(ssid: ssid, passphrase: passphrase, isWEP: false) // config.joinOnce = true NEHotspotConfigurationManager.shared.apply(config) { error in if let err = error { let nsErr = err as NSError mlog("err.code:\(nsErr.code)") if nsErr.code == NEHotspotConfigurationError.alreadyAssociated.rawValue { self.findWiFiListAndConnect(ssid, passphrase, overtimeSec, timeStart) } else { self.cmdDelegateQueue.async { self.delegate?.wifiClose(nsErr.code) } } } } The error returned is: wifiClose status: 7 Which corresponds to NEHotspotConfigurationError.userDenied. According to the official Apple documentation, this error should only occur when the user explicitly cancels the system dialog. However, in my case: • No system dialog appears. • The user does nothing, yet the error is still returned. • This issue does not happen every time, but it has been observed across multiple devices. Additional info: • iOS version: 18.5 • Device model: iPhone • joinOnce is not set (defaults to false) • Existing configuration is removed using removeConfiguration(...) before applying Is it possible that under certain system states (e.g. backgrounded, network restrictions, or app permissions), iOS silently fails without showing the prompt? Has anyone else encountered this issue, or does anyone know what could cause this behavior? Any help is greatly appreciated!
6
0
307
Jul ’25
Bluetooth not working in Satellite mode – iOS blocks Bluetooth access for EV charging app
We have developed a live iOS application, built using Swift and UIKit, that enables users to connect via Bluetooth to an EV charging box. Once connected, users can start and stop the charging process directly from the app. The app also requires an active internet connection initially, as it uses server-side functionality to select and authorize the charging box. However, we recently discovered an issue affecting users on iPhone 14 and iPhone 15 models, specifically when the device enters Satellite mode (Emergency SOS via Satellite) — i.e., when there is no mobile data or Wi-Fi. In this mode, the system Satellite screen is triggered and Bluetooth stops functioning, preventing our app from connecting to the EV box. Users are unable to proceed, even though the app would still be usable via Bluetooth once the box is selected. We have already declared required Bluetooth background modes (bluetooth-central, bluetooth-peripheral) in Info.plist, and the app functions perfectly outside of this scenario. However, the behavior in Satellite mode appears to either disable Bluetooth entirely or restrict access from third-party apps. We’d like to know Is this the expected default behavior on iOS in Satellite mode? Is there any entitlement or exception available to allow Bluetooth access in such emergency scenarios (especially for critical utilities like EV charging)? Can an app like ours be made visible under the Satellite settings, or request access under this mode? This is a concern for users in remote or basement locations where mobile data is unavailable, and they rely solely on Bluetooth to charge their vehicles. Please advise if there is a workaround or planned support in future iOS versions. Thank you.
1
0
91
Jun ’25
Battery Health dropped after updating to iOS 26 Public Beta
I have bought iphone 16 pro max on October 28, ( 9 months ago) and rarely dropped by battery health below 20%. I also set limit to 80% so I can preserve my Battery Health. I am not a multitasking user. I used fan to keep the phone cool during charging. But today I update to iOS26 public beta, It dropped to 99% at 88 Cycle which is quite low cycle. Many other user are getting their battery health dropped to 99% after 120, 130+ cycle with daily usage. Why mine got dropped after updating. I am quite unhappy with it, and iOS 26 is so jittery in my phone
3
0
409
Nov ’25
CoreGraphics reports two displays connections during system wakeup
Hello, The application I'm working on must report new hardware connections. To retrieve connected displays information and monitor new connections, I'm using the "Core Graphics" framework (see recommendation https://developer.apple.com/forums/thread/779945). The monitoring logic relies on a callback function which invokes when the local display configuration changes(kCGDisplayAddFlag/kCGDisplayRemoveFlag). #import <Cocoa/Cocoa.h> static void displayChanged(CGDirectDisplayID displayID, CGDisplayChangeSummaryFlags flags, void *userInfo) { uint32_t vendor = CGDisplayVendorNumber(displayID); if (flags & kCGDisplayAddFlag) { if (vendor == kDisplayVendorIDUnknown) { NSLog(@"I/O Kit cannot identify the monitor. kDisplayVendorIDUnknown. displayId = %u", displayID); return; } NSLog(@"%u connected. vendor(%u)", displayID, vendor); } if (flags & kCGDisplayRemoveFlag) { NSLog(@"%u disconnected", displayID); } } int main(int argc, const char * argv[]) { @autoreleasepool { CGDisplayRegisterReconfigurationCallback(displayChanged, NULL); NSApplicationLoad(); CFRunLoopRun(); } return 0; } The test environment is a Mac mini with an external display connected via HDMI. Everything works correctly until the system enters sleep mode. Upon wakeup, the app reports two displays: the first with vendor ID kDisplayVendorIDUnknown and the second with the expected vendor ID. Why does Core Graphics report two connections during wakeup? Is there any way to avoid this? Thank you in advance.
2
0
355
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
99
Aug ’25
When using requestSendPTPCommand to send both commands and data simultaneously, the response timeout occurs and the length of the command and data in the response is 0, need help pls.
I am debugging ImageCaptureCore to communicate with external cameras. When I called the PTP function below to send a command and add data, the response timed out for more than 5 seconds. After waiting for a period of time, I obtained the response. However, the response callback function obtained responsivData.length as zero and ptpResponseData.length as zero too. (void)requestSendPTPCommand:(NSData *)ptpCommand outData:(NSData *)ptpData completion:(void (^)(NSData *responseData, NSData *ptpResponseData, NSError *error))completion; data is below: Wrote 1 = 0x1 bytes PTP:send data: (hexdump of 1 bytes) [ ] I/PTP (14564): 0000 01 - .
6
0
237
Sep ’25
AudioSession Crash
We have recently encountered an App crash, as shown in the picture. We call this function as: let session = AVAudioSession.sharedInstance() guard session.currentRoute.outputs.isEmpty == false else { return false } The TestFlight caught this issue, and the iOS device information is attached: Do you have any suggestions to avoid this crash?
3
0
132
Sep ’25
Activity recognition using core motion
as i want to tract activity of iphone user using core motion framework , guide me through .
Replies
2
Boosts
0
Views
2.3k
Activity
Oct ’25
Bluetooth Connectivity Issues
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?
Replies
4
Boosts
0
Views
1.5k
Activity
Jun ’25
get display name and vendor info by IOKit framework
Hello, What is the best and Apple recommended way to get display name and its vendor information? The CoreGraphics framework provides ModelNumber and VendorNumber only. Looks like IOKit does not provide any documented way at all. Are there any daemon safe way to get such information? Thank you in advance, Pavel
Replies
4
Boosts
0
Views
197
Activity
Apr ’25
MacBook Pro monitor calibration
Hi, i'm unable to select a icc profile on the new macbook Pro M4. How can i calibrate the internal screen by adding an icc profil made with my X-Rite color calibrator. icc files cannot be selected (grey) from the import menu of the monitor preferences.
Replies
1
Boosts
0
Views
151
Activity
Apr ’25
Enterprise Management Software Suggestions
We are currently managing our iPhones and iPads using Microsoft Intune and I wanted to get your feedback on other Enterprise management software that gives the admin the ability to manage more granular functions.
Replies
1
Boosts
0
Views
83
Activity
Apr ’25
Find My Network System
Hey everyone, how’s it going? I’d like to know if, by enrolling in Apple’s MFi program, I’ll gain access to develop my own tags and my own app to track them using Apple’s Find network. I also read that there’s an estimated cost of $4 per device—does that apply to each device produced, or only at the time of registering the device, with no fee for additional units?
Replies
2
Boosts
0
Views
289
Activity
May ’25
XPC Connection Error
I have an accessory with MFi authenticaiton passed(got 0xAA05) and identification accepted (got 0x1D02). But when I try to open the target stream by using iAP2 EA session framework, I always enounter the same error looking like: XPC connection error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.accessories.externalaccessory-server was invalidated from this process." UserInfo={NSDebugDescription=The connection to service named com.apple.accessories.externalaccessory-server was invalidated from this process.} anybody can tell me what it related with? And what can I do to go through it quickly? Thank you much in advance.
Replies
1
Boosts
0
Views
157
Activity
May ’25
Removing Matter device artefacts.
How to remove Matter accessory connection artefacts? This appears after connecting and then removing a Matter test accessory. Please see attached screenshot:
Replies
2
Boosts
0
Views
188
Activity
May ’25
Confused by what is allowed for System Level Apple Watch Bluetooth Connection. Does it require MFi or are there only some BLE chips allowed?
Hello. I am building a BLE device that is Activity Fitness based and would like a "System Level" BLE connection on WatchOS using an ESP32 (I have built a test of this on the firmware side). Meaning I do not want my iOS app to pass the BLE connection to the WatchOS app. It seems like these App Level connections do not get as many background updates as a System Level connection, and also requires the WatchOS app to be launched to connect to the BLE device The System Level BLE connection (WatchOS Settings > BLE > Health Devices) allows for auto connection in the background, and gets more reliable background communication between the BLE device and the Apple Watch On the Apple MFi Page it only mentions iOS: From Apple MFi Page: :: Who does NOT need to join - Developers and manufacturers of accessories that connect to an Apple device using only Bluetooth Low Energy, Core Bluetooth, or standard Bluetooth profiles supported by iOS Does this apply to WatchOS as well? So, if I am making an BLE device that is Activity Based, and has one of the allowable Health Device UUIDs, is the BLE System Connection allowed using any BLE chip? Including say an ESP32 I have built a test BLE firmware that is a Health Device UUID, and the WatchOS sees it as a health device Is this fine then? No need for MFi application and also no need to worry about which BLE chip is used? thanks
Replies
3
Boosts
0
Views
154
Activity
May ’25
NEHotspotConfiguration apply returns userDenied error without user interaction
I’m encountering an unexpected issue while using NEHotspotConfigurationManager.shared.apply(...) to connect to a Wi-Fi network. Specifically, I’m receiving a userDenied error, even though the user did not interact with any system prompt. Here’s a version of the code I’m using: let config = NEHotspotConfiguration(ssid: ssid, passphrase: passphrase, isWEP: false) // config.joinOnce = true NEHotspotConfigurationManager.shared.apply(config) { error in if let err = error { let nsErr = err as NSError mlog("err.code:\(nsErr.code)") if nsErr.code == NEHotspotConfigurationError.alreadyAssociated.rawValue { self.findWiFiListAndConnect(ssid, passphrase, overtimeSec, timeStart) } else { self.cmdDelegateQueue.async { self.delegate?.wifiClose(nsErr.code) } } } } The error returned is: wifiClose status: 7 Which corresponds to NEHotspotConfigurationError.userDenied. According to the official Apple documentation, this error should only occur when the user explicitly cancels the system dialog. However, in my case: • No system dialog appears. • The user does nothing, yet the error is still returned. • This issue does not happen every time, but it has been observed across multiple devices. Additional info: • iOS version: 18.5 • Device model: iPhone • joinOnce is not set (defaults to false) • Existing configuration is removed using removeConfiguration(...) before applying Is it possible that under certain system states (e.g. backgrounded, network restrictions, or app permissions), iOS silently fails without showing the prompt? Has anyone else encountered this issue, or does anyone know what could cause this behavior? Any help is greatly appreciated!
Replies
6
Boosts
0
Views
307
Activity
Jul ’25
BLE 外设连接数量限制
我在Core Bluetooth中发现了连接数量相关的错误码:CBError.Code.connectionLimitReached。 但是并没有找到最大连接数量相关的定义。请问在哪里可以找到最大连接数量相关的定义?
Replies
1
Boosts
0
Views
182
Activity
Jun ’25
Keeping Video Stream Live While App is in the Background
We have an application that is built for communication for emergency first responders. Our app streams video from emergency responder mobile devices to other responders, however, when the app moves into the background, or the screen locks, the stream is terminated. Is there a way to allow the stream to persist.
Replies
4
Boosts
0
Views
153
Activity
Jul ’25
Bluetooth not working in Satellite mode – iOS blocks Bluetooth access for EV charging app
We have developed a live iOS application, built using Swift and UIKit, that enables users to connect via Bluetooth to an EV charging box. Once connected, users can start and stop the charging process directly from the app. The app also requires an active internet connection initially, as it uses server-side functionality to select and authorize the charging box. However, we recently discovered an issue affecting users on iPhone 14 and iPhone 15 models, specifically when the device enters Satellite mode (Emergency SOS via Satellite) — i.e., when there is no mobile data or Wi-Fi. In this mode, the system Satellite screen is triggered and Bluetooth stops functioning, preventing our app from connecting to the EV box. Users are unable to proceed, even though the app would still be usable via Bluetooth once the box is selected. We have already declared required Bluetooth background modes (bluetooth-central, bluetooth-peripheral) in Info.plist, and the app functions perfectly outside of this scenario. However, the behavior in Satellite mode appears to either disable Bluetooth entirely or restrict access from third-party apps. We’d like to know Is this the expected default behavior on iOS in Satellite mode? Is there any entitlement or exception available to allow Bluetooth access in such emergency scenarios (especially for critical utilities like EV charging)? Can an app like ours be made visible under the Satellite settings, or request access under this mode? This is a concern for users in remote or basement locations where mobile data is unavailable, and they rely solely on Bluetooth to charge their vehicles. Please advise if there is a workaround or planned support in future iOS versions. Thank you.
Replies
1
Boosts
0
Views
91
Activity
Jun ’25
IOS 26 AirPods Features
I'm using AirPods Pro 2 with an iPhone 15 Pro Max. After installing the IOS 26 beta I'm not able to get the new features to work. Does anyone have thoughts or info? Thanks
Replies
1
Boosts
0
Views
170
Activity
Jun ’25
Bricked? After Erase all data
Hello, I put the mac into hard reset, deleted all data and prepared for sale. But the restore did not complete and is in boot loop Can't go into recovery mode It is completely bricked or can be somehow "revived" as I read on the apple website. Thank you
Replies
1
Boosts
0
Views
213
Activity
Jul ’25
Battery Health dropped after updating to iOS 26 Public Beta
I have bought iphone 16 pro max on October 28, ( 9 months ago) and rarely dropped by battery health below 20%. I also set limit to 80% so I can preserve my Battery Health. I am not a multitasking user. I used fan to keep the phone cool during charging. But today I update to iOS26 public beta, It dropped to 99% at 88 Cycle which is quite low cycle. Many other user are getting their battery health dropped to 99% after 120, 130+ cycle with daily usage. Why mine got dropped after updating. I am quite unhappy with it, and iOS 26 is so jittery in my phone
Replies
3
Boosts
0
Views
409
Activity
Nov ’25
CoreGraphics reports two displays connections during system wakeup
Hello, The application I'm working on must report new hardware connections. To retrieve connected displays information and monitor new connections, I'm using the "Core Graphics" framework (see recommendation https://developer.apple.com/forums/thread/779945). The monitoring logic relies on a callback function which invokes when the local display configuration changes(kCGDisplayAddFlag/kCGDisplayRemoveFlag). #import <Cocoa/Cocoa.h> static void displayChanged(CGDirectDisplayID displayID, CGDisplayChangeSummaryFlags flags, void *userInfo) { uint32_t vendor = CGDisplayVendorNumber(displayID); if (flags & kCGDisplayAddFlag) { if (vendor == kDisplayVendorIDUnknown) { NSLog(@"I/O Kit cannot identify the monitor. kDisplayVendorIDUnknown. displayId = %u", displayID); return; } NSLog(@"%u connected. vendor(%u)", displayID, vendor); } if (flags & kCGDisplayRemoveFlag) { NSLog(@"%u disconnected", displayID); } } int main(int argc, const char * argv[]) { @autoreleasepool { CGDisplayRegisterReconfigurationCallback(displayChanged, NULL); NSApplicationLoad(); CFRunLoopRun(); } return 0; } The test environment is a Mac mini with an external display connected via HDMI. Everything works correctly until the system enters sleep mode. Upon wakeup, the app reports two displays: the first with vendor ID kDisplayVendorIDUnknown and the second with the expected vendor ID. Why does Core Graphics report two connections during wakeup? Is there any way to avoid this? Thank you in advance.
Replies
2
Boosts
0
Views
355
Activity
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.
Replies
1
Boosts
0
Views
99
Activity
Aug ’25
When using requestSendPTPCommand to send both commands and data simultaneously, the response timeout occurs and the length of the command and data in the response is 0, need help pls.
I am debugging ImageCaptureCore to communicate with external cameras. When I called the PTP function below to send a command and add data, the response timed out for more than 5 seconds. After waiting for a period of time, I obtained the response. However, the response callback function obtained responsivData.length as zero and ptpResponseData.length as zero too. (void)requestSendPTPCommand:(NSData *)ptpCommand outData:(NSData *)ptpData completion:(void (^)(NSData *responseData, NSData *ptpResponseData, NSError *error))completion; data is below: Wrote 1 = 0x1 bytes PTP:send data: (hexdump of 1 bytes) [ ] I/PTP (14564): 0000 01 - .
Replies
6
Boosts
0
Views
237
Activity
Sep ’25
AudioSession Crash
We have recently encountered an App crash, as shown in the picture. We call this function as: let session = AVAudioSession.sharedInstance() guard session.currentRoute.outputs.isEmpty == false else { return false } The TestFlight caught this issue, and the iOS device information is attached: Do you have any suggestions to avoid this crash?
Replies
3
Boosts
0
Views
132
Activity
Sep ’25