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

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
How to get full raw data of barcode using AVFoundation framework
I am creating a barcode reader using the AVfoundation framework for iOS and IPadOS. The read result goes into payloadstringvalue, but I want to check the control characters contained in the symbol, so I am using the raw data of the description, which is a property of NSObjectProtocol inherited by VNBarcodeObservation. However, I noticed that if the length set in the raw data exceeds 26, some of the raw data in the description is omitted. So my question is, is it possible to set it so that all the raw data in the description is written out without omitting any raw data? If so, could you please tell me how to set this up? Also, if you know of any other way to extract the raw barcode data, I would appreciate it if you could let me know. Thank you.
1
0
670
Jul ’25
Inquiry Regarding Remote Control and Screen Sharing Capabilities Under MFi Program
Dear Apple Developer / MFi Program Support, I am exploring technical possibilities for screen sharing and remote interaction between iOS devices and external hardware (e.g., embedded systems, in-vehicle systems) for a prototype we are currently developing. I have reviewed the public iOS developer documentation, but I would appreciate your guidance and clarification on the following advanced use cases, particularly in the context of MFi or enterprise-level integrations: Full-Screen Sharing of iOS Device Is it possible to mirror or stream the entire iOS screen, even when the app is running in the background or not in the foreground? Does ReplayKit or any other framework under the MFi or enterprise entitlements allow full-device screen capture outside the app context? Remote Touch Injection and Control Is there any officially supported mechanism, under MFi or otherwise, that allows external systems to remotely control an iOS device’s touch interface (e.g., simulate gestures, taps, swipes)? Are any of the following permitted under special entitlements: Access to IOHIDEventSystem or similar private APIs for input injection? Communication over USB or network to relay control commands that simulate direct user interaction? Hardware-Level Integration and Entitlements Does the MFi Program allow: Use of private frameworks or entitlements to build low-level integrations for iOS device control or mirroring? Communication over USB/Lightning/USB-C to enable bi-directional interaction (streaming out, commands in)? What are the specific APIs or entitlements available under MFi that enable these use cases? Can you provide references to documentation, SDKs, or prerequisites for companies seeking such capabilities? Eligibility and Certification Process What are the criteria to be approved for the MFi program with access to such advanced capabilities? Can PoC or early-stage research prototypes be eligible, or is MFi access restricted to commercial production intent? How long does it typically take to gain access to these entitlements (assuming NDA and certification requirements are met)? Alternative Pathways If MFi access is not feasible in the short term, is there any Apple-supported alternative path (e.g., test device provisioning, enterprise signing, custom profiles) that permits more advanced capabilities for prototyping purposes? We are not looking to publish this as a general App Store app at this stage, but rather to demonstrate feasibility as part of an innovation prototype that may lead to further OEM-level engagement in the future. Thank you for your support and guidance. Best regards,
2
0
114
Jul ’25
iOS 26 Beta 3 — iPhone 13 stuck at 1% battery, 0% battery health, reboots every few minutes
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.
4
1
1.5k
Aug ’25
EtreCheck (from Etresoft, Inc)
Hello I've noticed that this product, heavily promoted on the ASC forums for many years, is no longer available from the Apple App Store. Can anyone tell me the reason why the product is no longer supported? Friends have asked me if it is 'safe' to use. Is it? Note to moderator: If I'm asking in the wrong places, please redirect my question. Thank you.
9
0
5.2k
Aug ’25
Using CBPeripheralManager while using AccessorySetupKit framework
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.
2
1
339
Aug ’25
How and when to use .confirmAuthorization option with AccessorySetupKit
I am developing an app that communicates with external BLE device over GATT. The device has a secure-read characteristic exposing some of it's data and requires pairing/bonding in order to communicate with it. I was able to pair and connect with the device using AccessorySetupKit and .bluetoothPairingLE option: let descriptor = ASDiscoveryDescriptor() descriptor.bluetoothServiceUUID = CBUUID(string: serviceUUID) descriptor.supportedOptions = [.bluetoothPairingLE] let picketItem = ASPickerDisplayItem(name: name, productImage: image, descriptor: descriptor) In this case when setting up accessory, I was prompted to compare passkeys and after confirming I can read the characteristic etc. Then I tried adding .confirmAuthorization to picker item and problems started: let descriptor = ASDiscoveryDescriptor() descriptor.bluetoothServiceUUID = CBUUID(string: serviceUUID) descriptor.supportedOptions = [.bluetoothPairingLE] let picketItem = ASPickerDisplayItem(name: name, productImage: image, desc pickerItem.setupOptions = [.confirmAuthorization] When setting up, I can see a passkey to be confirmed, but when confirmed the setup ui get's suck in loading state. Under the hood in logs, I can see that my app has connected to peripheral and was able to read the characteristic. I am unsure why the ui is stuck in loading state in this case. What is the difference when using .confirmAuthorization option and what should be the proper flow of events to setup accessory and then access protoected characteristic?
2
0
322
Aug ’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
Is there a way to disable NFC on iPhones?
I have some logic which requires NFC support on the device. This is what I'm using to make sure that it's available: isNFCMissing = !NFCNDEFReaderSession.readingAvailable && !NFCTagReaderSession.readingAvailable && !NFCVASReaderSession.readingAvailable Is it possible for isNFCMissing to be true even if the device has an NFC chip. The minimum iOS version for the application is 16 which is only supported on devices with an NFC chip to begin with.
2
0
249
Sep ’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
Apple Pencil Pro Haptic Initiation
Hello, The Apple Pencil Pro brought with it the UICanvasFeedbackGenerator API, which lets us trigger haptic feedback on discrete events initiated by the pencil. That works fine. My question then: is it possible / are we "allowed" to trigger haptic feedback on events that weren't initiated by the pencil? For example, say the user is using a left hand finger to drag a slider, while holding the pencil in their right hand-- would it be possible to make the pencil vibrate to indicate the dragged slider knob reached a certain point? Or is the rule that vibration is only possible/allowed when the pencil itself generated a touch? Thanks!
3
0
258
Sep ’25
Error 561145187 - Recording audio from keyboard extension
Hi, as other threads have already discussed, I'd like to record audio from a keyboard extension. The keyboard has been granted both full access and microphone access. Nonetheless whenever I attempt to start a recording from my keyboard, it fails to start with the following error: Recording failed to start: Error Domain=com.apple.coreaudio.avfaudio Code=561145187 "(null)" UserInfo={failed call=err = PerformCommand(*ioNode, kAUStartIO, NULL, 0)} This is the code I am using: import Foundation import AVFoundation protocol AudioRecordingServiceDelegate: AnyObject { func audioRecordingDidStart() func audioRecordingDidStop(withAudioData: Data?) func audioRecordingPermissionDenied() } class AudioRecordingService { weak var delegate: AudioRecordingServiceDelegate? private var audioEngine: AVAudioEngine? private var audioSession: AVAudioSession? private var isRecording = false private var audioData = Data() private let targetFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 16000, channels: 1, interleaved: false)! private func setupAudioSession() throws { let session = AVAudioSession.sharedInstance() try session.setCategory(.playAndRecord, mode: .spokenAudio, options: [.mixWithOthers, .allowBluetooth, .defaultToSpeaker]) try session.setPreferredIOBufferDuration(0.005) try session.setActive(true, options: .notifyOthersOnDeactivation) audioSession = session } func checkMicrophonePermission(completion: @escaping (Bool) -> Void) { switch AVAudioApplication.shared.recordPermission { case .granted: completion(true) case .denied: delegate?.audioRecordingPermissionDenied() completion(false) case .undetermined: AVAudioApplication.requestRecordPermission { [weak self] granted in if !granted { self?.delegate?.audioRecordingPermissionDenied() } completion(granted) } @unknown default: delegate?.audioRecordingPermissionDenied() completion(false) } } func toggleRecording() { if isRecording { stopRecording() } else { checkMicrophonePermission { [weak self] granted in if granted { self?.startRecording() } } } } private func startRecording() { guard !isRecording else { return } do { try setupAudioSession() audioEngine = AVAudioEngine() guard let engine = audioEngine else { return } let inputNode = engine.inputNode let inputFormat = inputNode.inputFormat(forBus: 0) audioData.removeAll() guard let converter = AVAudioConverter(from: inputFormat, to: targetFormat) else { print("Failed to create audio converter") return } inputNode.installTap(onBus: 0, bufferSize: 1024, format: inputFormat) { [weak self] buffer, _ in guard let self = self else { return } let frameCount = AVAudioFrameCount(Double(buffer.frameLength) * 16000.0 / buffer.format.sampleRate) guard let outputBuffer = AVAudioPCMBuffer(pcmFormat: self.targetFormat, frameCapacity: frameCount) else { return } outputBuffer.frameLength = frameCount var error: NSError? converter.convert(to: outputBuffer, error: &error) { _, outStatus in outStatus.pointee = .haveData return buffer } if error == nil, let channelData = outputBuffer.int16ChannelData { let dataLength = Int(outputBuffer.frameLength) * 2 let data = Data(bytes: channelData.pointee, count: dataLength) self.audioData.append(data) } } engine.prepare() try engine.start() isRecording = true delegate?.audioRecordingDidStart() } catch { print("Recording failed to start: \(error)") stopRecording() } } private func stopRecording() { audioEngine?.inputNode.removeTap(onBus: 0) audioEngine?.stop() isRecording = false let finalData = audioData audioData.removeAll() delegate?.audioRecordingDidStop(withAudioData: finalData) try? audioSession?.setActive(false, options: .notifyOthersOnDeactivation) } deinit { if isRecording { stopRecording() } } } Granting the deprecated "Inter-App Audio" capability did not solve the problem either. Is recording audio from a keyboard extension even possible in general? If so, how do I fix it? Related threads: https://developer.apple.com/forums/thread/108055 https://developer.apple.com/forums/thread/742601
7
1
779
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
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
137
Sep ’25
Mac OS X App for collecting linear displacement of a sample
I have a small furnace that heats a sample of my product, a cylinder measuring 20mm x 100mm. As it is heated, there is thermal expansion, and I at this moment read (using my eyes) a micrometer dial gauge and type into my app the value read in hundredths of a millimeter. My source code uses quartz to draw a PDF graph that represents this thermal expansion. I would like to enhance my set up by getting my app to collect the linear displacement from my dilatometer furnace. One possibility I have been trying to implement is to have my app collect DC millivolts from an instrument, like a voltmeter reading the output of an LVDT (Linear Variable Differential Transformer), but the model I have requires MODBUS-RTU protocol, which is not well implemented by Mac OS X developers. It requires an USB-Serial converter, which complicates things and makes it more unreliable. At this moment, I have to sit next to my furnace and type into my app the temperature and linear displacement for 3 hours. I would like to read some comments and suggestions from you or an Apple Engineer and how this could be achieved. Here is a video of my dilatometer furnace: https://www.correiofacil.com/video/IMG_8888.MOV Here is a PDF I generated using my APP: https://www.correiofacil.com/PDF/117.pdf Here is a video showing how I type data manually into my app: https://www.correiofacil.com/video/recording2.mov Here is a video that shows my app drawing a graph: https://www.correiofacil.com/video/recording1.mov These 2 images show my attempts to use the app ModBusRtuMaster to collect data from the voltmeter which at this moment fails: https://www.correiofacil.com/PDF/8f9be971dee32a58c36b307dbab3dc2d.png https://www.correiofacil.com/PDF/4ac20c2ea762fd42ed340a7a2b567900.png You will notice that although the instrument is displaying 0.000 volts, the data collected changes at each message I send to the instrument, proving me that Modbus RTU set up is not working. Here is a link to the manual of the DC voltmeter I am using: https://www.correiofacil.com/PDF/manual1.pdf Here is an image of the LVDT I am trying to use: https://www.correiofacil.com/PDF/e0349986512f9273b26b209baa3ba5c7.png Here is the manual for the LVDT: https://www.correiofacil.com/PDF/GGD19.pdf I suspect that there could be a completely different approach to collecting the data and inputting into my app, maybe Bluetooth? Maybe using a Mitutoyo gauge such as? This: https://www.mitutoyo.com/Images/CatalogUS-1003/resources/_pdfs_/US-1003_Catalog_251.pdf And a cable with SPC support like this: https://www.gw-style.com/product-p-942977.html I am very grateful for your comments
3
0
303
Sep ’25
Help me
Someone is using all of these tools to hack my phone I have several device and my daughters tabkets and androids are also compromised . Use my home hub / home kit : cloudy it / Xcode / swift ui and siri search . If anyone could help I’d highly appreciate it I have contacted the FBI and have an apt in October b it if someone or anyone could help me debug my phone in the mean time I’d highly appreciate it . Have used my doctors apps and changed iclouds . Used family sharing with my daughter and screen time and have used share across devices . Starting wi try my outlook account that Jeremy Walker had access to . Please help me it’s effects my mental and physical health and quality time with My daughter . Using ethernet and hardware keyboards / voice over and AI . Please assist as this is extremely exhausting help pls
0
0
230
Sep ’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
How to get full raw data of barcode using AVFoundation framework
I am creating a barcode reader using the AVfoundation framework for iOS and IPadOS. The read result goes into payloadstringvalue, but I want to check the control characters contained in the symbol, so I am using the raw data of the description, which is a property of NSObjectProtocol inherited by VNBarcodeObservation. However, I noticed that if the length set in the raw data exceeds 26, some of the raw data in the description is omitted. So my question is, is it possible to set it so that all the raw data in the description is written out without omitting any raw data? If so, could you please tell me how to set this up? Also, if you know of any other way to extract the raw barcode data, I would appreciate it if you could let me know. Thank you.
Replies
1
Boosts
0
Views
670
Activity
Jul ’25
Inquiry Regarding Remote Control and Screen Sharing Capabilities Under MFi Program
Dear Apple Developer / MFi Program Support, I am exploring technical possibilities for screen sharing and remote interaction between iOS devices and external hardware (e.g., embedded systems, in-vehicle systems) for a prototype we are currently developing. I have reviewed the public iOS developer documentation, but I would appreciate your guidance and clarification on the following advanced use cases, particularly in the context of MFi or enterprise-level integrations: Full-Screen Sharing of iOS Device Is it possible to mirror or stream the entire iOS screen, even when the app is running in the background or not in the foreground? Does ReplayKit or any other framework under the MFi or enterprise entitlements allow full-device screen capture outside the app context? Remote Touch Injection and Control Is there any officially supported mechanism, under MFi or otherwise, that allows external systems to remotely control an iOS device’s touch interface (e.g., simulate gestures, taps, swipes)? Are any of the following permitted under special entitlements: Access to IOHIDEventSystem or similar private APIs for input injection? Communication over USB or network to relay control commands that simulate direct user interaction? Hardware-Level Integration and Entitlements Does the MFi Program allow: Use of private frameworks or entitlements to build low-level integrations for iOS device control or mirroring? Communication over USB/Lightning/USB-C to enable bi-directional interaction (streaming out, commands in)? What are the specific APIs or entitlements available under MFi that enable these use cases? Can you provide references to documentation, SDKs, or prerequisites for companies seeking such capabilities? Eligibility and Certification Process What are the criteria to be approved for the MFi program with access to such advanced capabilities? Can PoC or early-stage research prototypes be eligible, or is MFi access restricted to commercial production intent? How long does it typically take to gain access to these entitlements (assuming NDA and certification requirements are met)? Alternative Pathways If MFi access is not feasible in the short term, is there any Apple-supported alternative path (e.g., test device provisioning, enterprise signing, custom profiles) that permits more advanced capabilities for prototyping purposes? We are not looking to publish this as a general App Store app at this stage, but rather to demonstrate feasibility as part of an innovation prototype that may lead to further OEM-level engagement in the future. Thank you for your support and guidance. Best regards,
Replies
2
Boosts
0
Views
114
Activity
Jul ’25
iOS 26 Beta 3 — iPhone 13 stuck at 1% battery, 0% battery health, reboots every few minutes
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.
Replies
4
Boosts
1
Views
1.5k
Activity
Aug ’25
EtreCheck (from Etresoft, Inc)
Hello I've noticed that this product, heavily promoted on the ASC forums for many years, is no longer available from the Apple App Store. Can anyone tell me the reason why the product is no longer supported? Friends have asked me if it is 'safe' to use. Is it? Note to moderator: If I'm asking in the wrong places, please redirect my question. Thank you.
Replies
9
Boosts
0
Views
5.2k
Activity
Aug ’25
Using CBPeripheralManager while using AccessorySetupKit framework
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.
Replies
2
Boosts
1
Views
339
Activity
Aug ’25
How and when to use .confirmAuthorization option with AccessorySetupKit
I am developing an app that communicates with external BLE device over GATT. The device has a secure-read characteristic exposing some of it's data and requires pairing/bonding in order to communicate with it. I was able to pair and connect with the device using AccessorySetupKit and .bluetoothPairingLE option: let descriptor = ASDiscoveryDescriptor() descriptor.bluetoothServiceUUID = CBUUID(string: serviceUUID) descriptor.supportedOptions = [.bluetoothPairingLE] let picketItem = ASPickerDisplayItem(name: name, productImage: image, descriptor: descriptor) In this case when setting up accessory, I was prompted to compare passkeys and after confirming I can read the characteristic etc. Then I tried adding .confirmAuthorization to picker item and problems started: let descriptor = ASDiscoveryDescriptor() descriptor.bluetoothServiceUUID = CBUUID(string: serviceUUID) descriptor.supportedOptions = [.bluetoothPairingLE] let picketItem = ASPickerDisplayItem(name: name, productImage: image, desc pickerItem.setupOptions = [.confirmAuthorization] When setting up, I can see a passkey to be confirmed, but when confirmed the setup ui get's suck in loading state. Under the hood in logs, I can see that my app has connected to peripheral and was able to read the characteristic. I am unsure why the ui is stuck in loading state in this case. What is the difference when using .confirmAuthorization option and what should be the proper flow of events to setup accessory and then access protoected characteristic?
Replies
2
Boosts
0
Views
322
Activity
Aug ’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
Trackpad support on iPadOS
According to Accessory Design Guidelines iPadOS support HID trackpad. Is there a design example of such supported devices? I have tried to adapt device software to guidelines without any result on iPad.
Replies
1
Boosts
0
Views
97
Activity
Sep ’25
Is there a way to disable NFC on iPhones?
I have some logic which requires NFC support on the device. This is what I'm using to make sure that it's available: isNFCMissing = !NFCNDEFReaderSession.readingAvailable && !NFCTagReaderSession.readingAvailable && !NFCVASReaderSession.readingAvailable Is it possible for isNFCMissing to be true even if the device has an NFC chip. The minimum iOS version for the application is 16 which is only supported on devices with an NFC chip to begin with.
Replies
2
Boosts
0
Views
249
Activity
Sep ’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
Apple Pencil Pro Haptic Initiation
Hello, The Apple Pencil Pro brought with it the UICanvasFeedbackGenerator API, which lets us trigger haptic feedback on discrete events initiated by the pencil. That works fine. My question then: is it possible / are we "allowed" to trigger haptic feedback on events that weren't initiated by the pencil? For example, say the user is using a left hand finger to drag a slider, while holding the pencil in their right hand-- would it be possible to make the pencil vibrate to indicate the dragged slider knob reached a certain point? Or is the rule that vibration is only possible/allowed when the pencil itself generated a touch? Thanks!
Replies
3
Boosts
0
Views
258
Activity
Sep ’25
Error 561145187 - Recording audio from keyboard extension
Hi, as other threads have already discussed, I'd like to record audio from a keyboard extension. The keyboard has been granted both full access and microphone access. Nonetheless whenever I attempt to start a recording from my keyboard, it fails to start with the following error: Recording failed to start: Error Domain=com.apple.coreaudio.avfaudio Code=561145187 "(null)" UserInfo={failed call=err = PerformCommand(*ioNode, kAUStartIO, NULL, 0)} This is the code I am using: import Foundation import AVFoundation protocol AudioRecordingServiceDelegate: AnyObject { func audioRecordingDidStart() func audioRecordingDidStop(withAudioData: Data?) func audioRecordingPermissionDenied() } class AudioRecordingService { weak var delegate: AudioRecordingServiceDelegate? private var audioEngine: AVAudioEngine? private var audioSession: AVAudioSession? private var isRecording = false private var audioData = Data() private let targetFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 16000, channels: 1, interleaved: false)! private func setupAudioSession() throws { let session = AVAudioSession.sharedInstance() try session.setCategory(.playAndRecord, mode: .spokenAudio, options: [.mixWithOthers, .allowBluetooth, .defaultToSpeaker]) try session.setPreferredIOBufferDuration(0.005) try session.setActive(true, options: .notifyOthersOnDeactivation) audioSession = session } func checkMicrophonePermission(completion: @escaping (Bool) -> Void) { switch AVAudioApplication.shared.recordPermission { case .granted: completion(true) case .denied: delegate?.audioRecordingPermissionDenied() completion(false) case .undetermined: AVAudioApplication.requestRecordPermission { [weak self] granted in if !granted { self?.delegate?.audioRecordingPermissionDenied() } completion(granted) } @unknown default: delegate?.audioRecordingPermissionDenied() completion(false) } } func toggleRecording() { if isRecording { stopRecording() } else { checkMicrophonePermission { [weak self] granted in if granted { self?.startRecording() } } } } private func startRecording() { guard !isRecording else { return } do { try setupAudioSession() audioEngine = AVAudioEngine() guard let engine = audioEngine else { return } let inputNode = engine.inputNode let inputFormat = inputNode.inputFormat(forBus: 0) audioData.removeAll() guard let converter = AVAudioConverter(from: inputFormat, to: targetFormat) else { print("Failed to create audio converter") return } inputNode.installTap(onBus: 0, bufferSize: 1024, format: inputFormat) { [weak self] buffer, _ in guard let self = self else { return } let frameCount = AVAudioFrameCount(Double(buffer.frameLength) * 16000.0 / buffer.format.sampleRate) guard let outputBuffer = AVAudioPCMBuffer(pcmFormat: self.targetFormat, frameCapacity: frameCount) else { return } outputBuffer.frameLength = frameCount var error: NSError? converter.convert(to: outputBuffer, error: &error) { _, outStatus in outStatus.pointee = .haveData return buffer } if error == nil, let channelData = outputBuffer.int16ChannelData { let dataLength = Int(outputBuffer.frameLength) * 2 let data = Data(bytes: channelData.pointee, count: dataLength) self.audioData.append(data) } } engine.prepare() try engine.start() isRecording = true delegate?.audioRecordingDidStart() } catch { print("Recording failed to start: \(error)") stopRecording() } } private func stopRecording() { audioEngine?.inputNode.removeTap(onBus: 0) audioEngine?.stop() isRecording = false let finalData = audioData audioData.removeAll() delegate?.audioRecordingDidStop(withAudioData: finalData) try? audioSession?.setActive(false, options: .notifyOthersOnDeactivation) } deinit { if isRecording { stopRecording() } } } Granting the deprecated "Inter-App Audio" capability did not solve the problem either. Is recording audio from a keyboard extension even possible in general? If so, how do I fix it? Related threads: https://developer.apple.com/forums/thread/108055 https://developer.apple.com/forums/thread/742601
Replies
7
Boosts
1
Views
779
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
BLE l2cap close not correct
We are develop an application with corebluetooth framework. we connect to device with ble. and open two l2cap channels. it can transfer data with stream. but when it close the second l2cap channel, it always close the first l2cap channel.
Replies
4
Boosts
0
Views
264
Activity
Sep ’25
iPhone17 bluetooth background scanning
Recently, I've noticed that background Bluetooth scanning stops when I move an app to the background on an iPhone 17 device with Bluetooth 6. I'm curious about a solution. Background Bluetooth scanning doesn't stop on devices older than iOS 26, or on devices that were updated from an iPhone 17 or earlier to iOS 26.
Replies
1
Boosts
0
Views
130
Activity
Sep ’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.
Replies
1
Boosts
0
Views
137
Activity
Sep ’25
EAAccessoryBluetoothPicker still broken in iOS 17
This is a regression since iOS 13. Is there no-one at Apple interested in fixing this? FB9856371
Replies
3
Boosts
0
Views
1k
Activity
Sep ’25
Mac OS X App for collecting linear displacement of a sample
I have a small furnace that heats a sample of my product, a cylinder measuring 20mm x 100mm. As it is heated, there is thermal expansion, and I at this moment read (using my eyes) a micrometer dial gauge and type into my app the value read in hundredths of a millimeter. My source code uses quartz to draw a PDF graph that represents this thermal expansion. I would like to enhance my set up by getting my app to collect the linear displacement from my dilatometer furnace. One possibility I have been trying to implement is to have my app collect DC millivolts from an instrument, like a voltmeter reading the output of an LVDT (Linear Variable Differential Transformer), but the model I have requires MODBUS-RTU protocol, which is not well implemented by Mac OS X developers. It requires an USB-Serial converter, which complicates things and makes it more unreliable. At this moment, I have to sit next to my furnace and type into my app the temperature and linear displacement for 3 hours. I would like to read some comments and suggestions from you or an Apple Engineer and how this could be achieved. Here is a video of my dilatometer furnace: https://www.correiofacil.com/video/IMG_8888.MOV Here is a PDF I generated using my APP: https://www.correiofacil.com/PDF/117.pdf Here is a video showing how I type data manually into my app: https://www.correiofacil.com/video/recording2.mov Here is a video that shows my app drawing a graph: https://www.correiofacil.com/video/recording1.mov These 2 images show my attempts to use the app ModBusRtuMaster to collect data from the voltmeter which at this moment fails: https://www.correiofacil.com/PDF/8f9be971dee32a58c36b307dbab3dc2d.png https://www.correiofacil.com/PDF/4ac20c2ea762fd42ed340a7a2b567900.png You will notice that although the instrument is displaying 0.000 volts, the data collected changes at each message I send to the instrument, proving me that Modbus RTU set up is not working. Here is a link to the manual of the DC voltmeter I am using: https://www.correiofacil.com/PDF/manual1.pdf Here is an image of the LVDT I am trying to use: https://www.correiofacil.com/PDF/e0349986512f9273b26b209baa3ba5c7.png Here is the manual for the LVDT: https://www.correiofacil.com/PDF/GGD19.pdf I suspect that there could be a completely different approach to collecting the data and inputting into my app, maybe Bluetooth? Maybe using a Mitutoyo gauge such as? This: https://www.mitutoyo.com/Images/CatalogUS-1003/resources/_pdfs_/US-1003_Catalog_251.pdf And a cable with SPC support like this: https://www.gw-style.com/product-p-942977.html I am very grateful for your comments
Replies
3
Boosts
0
Views
303
Activity
Sep ’25
Help me
Someone is using all of these tools to hack my phone I have several device and my daughters tabkets and androids are also compromised . Use my home hub / home kit : cloudy it / Xcode / swift ui and siri search . If anyone could help I’d highly appreciate it I have contacted the FBI and have an apt in October b it if someone or anyone could help me debug my phone in the mean time I’d highly appreciate it . Have used my doctors apps and changed iclouds . Used family sharing with my daughter and screen time and have used share across devices . Starting wi try my outlook account that Jeremy Walker had access to . Please help me it’s effects my mental and physical health and quality time with My daughter . Using ethernet and hardware keyboards / voice over and AI . Please assist as this is extremely exhausting help pls
Replies
0
Boosts
0
Views
230
Activity
Sep ’25