I recently got an iPhone 16 Pro Max, and I’m currently running iOS 18.1 Beta 5 (22B5054e). I’ve noticed an issue when charging overnight with MagSafe. My phone stops charging, and last night it stopped at 63%.
I’m also having problems when charging via cable. It shows “slow charger” even though I’m using a 100W charger.
Is this an issue with iOS 18.1 or could it be a defect with the iPhone itself? I didn’t experience this with my iPhone 15 Pro Max.
Thanks
Hardware
RSS for tagDelve into the physical components of Apple devices, including processors, memory, storage, and their interaction with the software.
Post
Replies
Boosts
Views
Activity
Development environment: Electron 30.2.0
Run-time configuration: macOS 14.5 (23F79)
DESCRIPTION OF PROBLEM
I have one keyboard which will wake up the Mac OS from sleep when sending command to it at the time system starting to sleep. But this keyboard will not have such problem on Window OS, I don't know why sending command to that keyboard will wake up the Mac OS system from sleep.
Does anyone know from a hardware or software point of view, what kind of usb keyboard operation will cause the macos system to wake up? Or can someone give us guidance, how to debug and solve the usb keyboard caused by the wake up system problem on Mac OS system?
STEPS TO REPRODUCE Sending command to that keyboard when the system start to sleep
Development environment: Electron 30.2.0
Run-time configuration: macOS 14.5 (23F79)
DESCRIPTION OF PROBLEM
I have one keyboard which will wake up the Mac OS from sleep when sending command to it at the time system starting to sleep. But this keyboard will not have such problem on Window OS, I don't know why sending command to that keyboard will wake up the Mac OS system from sleep.
Does anyone know from a hardware or software point of view, what kind of usb keyboard operation will cause the macos system to wake up? Or can someone give us guidance, how to debug and solve the usb keyboard caused by the wake up system problem on Mac OS system?
STEPS TO REPRODUCE Sending command to that keyboard when the system start to sleep
Hi, we are trying out AccessorySetupKit on our app for pairing with an IoT device via Bluetooth. I can see from this WWDC2024 talk Meet AccessorySetupKit that ASK supports BLE pairing methods with a PIN code.
Is that enabled through this bluetoothPairingLE option on ASAccessory.SupportOptions?
Is it correctly understood that this is referring to the Secure Simple Pairing feature in the BLE specs?
This might be due to my unfamiliarity with Secure Simple Pairing, but does it require the PIN code again after it has been paired but disconnected and then re-connected?
Any help here would be greatly appreciated.
Is it mandatory to use classic Bluetooth (Bluetooth Classic) to connect game controllers that support Apple’s MFi games and Arcade games, or can game controllers be developed using only Bluetooth Low Energy (BLE) for such accessories?
Hello everyone,
I’m experiencing occasional crashes in my app related to the Core Haptics framework, specifically when creating haptic pattern players. The crashes are intermittent and not easily reproducible, so I’m hoping to get some guidance on what might be causing them.
It's seems it's connected to Audio Resource I'm using within AHAP file.
Setup:
I use AVAudioSession and AVAudioEngine to record and play continuous audio. After activating the audio session and setting up the audio engine, I initialize the CHHapticEngine as follows:
let engine = try CHHapticEngine(audioSession: .sharedInstance())
...
try engine?.start()
// Recreate all haptic pattern players you had created.
let pattern = createPatternFromAHAP(Pattern.thinking.rawValue)!
thinkingHapticPlayer = try? engine?.makePlayer(with: pattern)
// Repeat for other players...
AHAP file:
"Pattern":
[
... haptic events
{
"Event":
{
"Time": 0.0,
"EventType": "AudioCustom",
"EventWaveformPath": "voice.chat.thinking.mp3",
"EventParameters":
[
{ "ParameterID": "AudioVolume", "ParameterValue": 0.7 }
]
}
}
]
I’m receiving the following crash report:
Crashed: com.apple.main-thread
EXC_BREAKPOINT 0x00000001ba525c68
0
CoreHaptics
+[CHHapticEngine(CHHapticEngineInternal) doRegisterAudioResource:options:fromPattern:player:error:].cold.1 + 104
1
CoreHaptics
+[CHHapticEngine(CHHapticEngineInternal) doRegisterAudioResource:options:fromPattern:player:error:].cold.1 + 104
2
CoreHaptics
+[CHHapticEngine(CHHapticEngineInternal) doRegisterAudioResource:options:fromPattern:player:error:] + 3784
3
CoreHaptics
-[CHHapticPattern resolveExternalResources:error:] + 388
4
CoreHaptics
-[PatternPlayer initWithPlayable:engine:privileged:error:] + 560
5
CoreHaptics
-[CHHapticEngine createPlayerWithPattern:error:] + 256
6
Mind
VoiceChatHapticEngine.swift - Line 170
VoiceChatHapticEngine.createThinkingHapticPlayer() + 170
Has anyone encountered similar crashes when working with CHHapticEngine and haptic patterns that contains audioCustom event?
Thank you so much for your help.
Ondrej
Hello,
It was confirmed that notification came when the user connected a specific Bluetooth in the app and the Bluetooth was connected to the mobile phone after the application was forcibly terminated.
I wonder how that is possible.
Is there anyone who knows?
Thank you.
In my app I need to determine what hardware the app is running on (also forms part of the UI).
iPhone 15 series identifiers are as below, wondering if anyone knows what iPhone 16, Plus, Pro and Pro Max will be?
case "iPhone15,4": return "iPhone 15"
case "iPhone15,5": return "iPhone 15 Plus"
case "iPhone16,1": return "iPhone 15 Pro"
case "iPhone16,2": return "iPhone 15 Pro Max"
I assume since all four 16 models are A18 that it'll be a bump to the base level to 17 for all four phones.
case "iPhone17,1": return "iPhone 16"
case "iPhone17,2": return "iPhone 16 Plus"
case "iPhone17,3": return "iPhone 16 Pro"
case "iPhone17,4": return "iPhone 16 Pro Max"
Anyone else making a different assumption? Trying to avoid the "if unknown just say iPhone 16" option.
Thanks!
Development environment: Xcode Version 15.1 (15C65), macOS 14.2.1 (23C71)
Run-time configuration: macOS 14.2.1 (23C71)
DESCRIPTION OF PROBLEM
1.The device supports sleep and wake functionality, and sleep/wake can be achieved on both Linux and Windows.
2.Does macOS's USBSerialDriverKit support sleep and wake? If so, how can I implement it?
3.Is it necessary to modify system permissions on macOS to use a USB serial device for sleep and wake functionality?
STEPS TO REPRODUCE
I don't know how macOS performs power management for serial devices. The sleep wake function fails to pass the test on macOS
I have a camera app that has some intensive processing. Each photo can require between 300-500MB of memory to process all the CIFilters, depth blur etc.
This has been working fine on my older test devices, iPhone 11 & 12, but I had some crash reports from users and I noticed that they were always iPhone 13 / 13 mini users. After purchasing a 13, I can confirm that after taking 2-3 photos sequentially the app crashes due to memory usage.
What I don't understand is that I can take many photos sequentially on the iPhone 11 / 12 and they do not crash. The memory usage is certainly high, but all the images save and the app does not crash. Here's what the memory usage looks like when using the iPhone 11:
All the devices have 4GB of RAM, so why should the iPhone 13 not be able to handle it? One option would be to try and reduce the memory usage of the application, but it's a challenge when processing 12MP images. Here's what the memory debugger looks like, not very useful!
Any pointers greatly appreciated!
Alex
Hi all,
I was wondering if anyone knew a way to change the brightness of your MacBook screen in Swift without using an overlay that changes the colours?
I want the effect of just pressing the F1 and F2 brightness controls but done without using system events/ Applescript popping up windows on the screen.
I think the UIScreen.brightness is something similar to what I want but it is not available for NSscreen. I can't figure out a way to do it with IOKit either.
Things like ddccl doesn't work as the screen is not an external monitor.
If there is a solution using Swift or terminal commands any help is much appreciated.
Thanks,
James
I have created a sample iOS project where I am attempting to discover BLE peripherals using AccessorySetupKit in iOS 18.
I am able to discover the BLE accessory and retrieve the CBPeripheral. However, when I attempt to connect to the CBPeripheral, the connection neither succeeds nor fails. I have noticed that the BLE peripheral I am trying to connect to uses a Resolvable Private Address (RPA). When I repeat the same process for a BLE peripheral with a Static Device Address (SDA), I am able to connect successfully.
Could someone please suggest why I am unable to connect to the BLE peripheral with an RPA when it is discovered using AccessorySetupKit?
Hello, we're having problems running the sample code for HCE https://developer.apple.com/documentation/corenfc/cardsession/
We have the necessary HCE Entitlements in place. Everything is configured according to the guidelines in both the entitlements and info.plist files.
Unfortunately, when trying to execute the code, the app crashes and the state is as follows:
NFCReaderSession.readingAvailable = true
CardSession.isSupported = true
And the crash happens after executing CardSession.isEligible
With
CoreNFC/NFCCardSession.swift:451: Fatal error: Missing required entitlement
The app runs on iOS 18.0 (22A5338b). Our account is registered in Bulgaria, which is part of the EEA, and the tests are run in Bulgaria.
I am working on an app for a Home automation device built on Matter. There are both standard and custom features/services/clusters on this device. HomeKit seems to pick up the standard ones except for one (leak detector) that is part of the Matter 1.3 spec. Of course HomeKit doesn't know what to do with the custom ones so they aren't shown in the Home app. I am trying to access those directly via calls to the Matter APIs so I can present them in a custom app. To access Matter APIs I am using a process suggested by DTS in a forum post that can be found here.
The MTRBaseDevice I obtain in the suggested way responds appropriately to read and write commands, but subscribe doesn't work as expected. It returns an error code 48 which is described as "The operation couldn’t be completed." and the source that contains the error calls it "operationNotSupported". This is the subscribe call referenced in the DTS response to earlier post, however there are three more "subscribe" methods and I have tried them all. Two also return an error 48, and the last one never calls any of the callback handlers providing no data or errors.
Since a subscription is supposed to return data periodically even when there have been no changes it doesn't seem that different than polling so I have written code for that and it works. However I don't expect iOS will let me poll in the background for alarm conditions and I am hoping subscription updates will be sent to a background app so it can notify users of these conditions. Is that a reasonable assumption?
Here is the code I am using to test subscribe, perhaps I am doing something wrong? Originally I had shorter intervals but changing them made no difference. Do they need to be longer?
let subscribeParams = MTRSubscribeParams(minInterval: 15, maxInterval: 900)
if #available(iOS 17.6, *) {
subscribeParams.shouldAssumeUnknownAttributesReportable = true
}
subscribeParams.shouldFilterByFabric = false
subscribeParams.shouldReplaceExistingSubscriptions = true
subscribeParams.shouldReportEventsUrgently = true
subscribeParams.shouldResubscribeAutomatically = false
print("Attempting subscribe:with")
let localClusterStateCache = MTRClusterStateCacheContainer()
matterBaseDevice.subscribe(with: OS_dispatch_queue_global.global(), params: subscribeParams, clusterStateCacheContainer: localClusterStateCache) { (attributes: [Any]) in
print("subscribe:with attributeHandler: \(attributes)")
} eventReportHandler: { (events: [Any]) in
print("subscribe:with eventHandler: \(events)")
} errorHandler: { (error: any Error) in
let reportingError = error as NSError
if reportingError.domain == "HMErrorDomain" {
let hkError = HMError(HMError.Code(rawValue: reportingError.code)!)
print("subscribe:with errorHandler: \(hkError.localizedDescription); UserInfo: \(hkError.userInfo); ErrorUserInfo: \(hkError.errorUserInfo)")
} else {
print("subscribe:with errorHandler: \(reportingError)")
}
} subscriptionEstablished: {
print("subscribe:with Subscription established!!!")
} resubscriptionScheduled: { (error: any Error, numericParam: NSNumber) in
print("subscribe:with Resubscription scheduled; error: \(error); numericParam: \(numericParam)")
}
I'm developing an app that pairs to a custom piece of hardware over BLE. Right now I'm working on a way to handle the case where the user mis-enters the PIN code. I see that didUpdateNotificationStateFor is passed an error message in this case saying "Encryption is insufficient.". But it seems like there has to be a better way to handle and react to that case.
Do I really need to rely on a string-compare against error message in order to determine when to display the instructions on how to reset everything and restart the pairing workflow? Is there something I'm missing in this documentation?
Hi!
I develop my own NFC reader as a sole proprietor.
I would like to get the Apple VAS and Apple Access Pass certificates for my reader. How can I do that? Should I apply for Apple’s MFi program or it’s just for bigger organizations/companies?
Are there any way?
Thank you!
Daniel
I want to on widget or on app I can trigger MPRemoteCommandEvent to control system media player.
So , i have bought my Iphone 15 in the release week . Since the beginning i’ve noticed some overheating but i brushed it off since so many people were having it , but i still feel like it overheats especially when using the camera and making calls. 10 months later , my battery health is at 88% at 308 cycles , which would be 1 charge per day . Im worried its dropping too fast tbh and i wanted to know if this is normal .
I have a 2019 MacBook Pro
intel chip
radeon pro 5500 gpu
I installed sequoia 15 last night and woke up to a completely dead battery. After finally getting a charge I noticed that my fans are running non stop. The only way I was able to get a charge was to power directly to my MacBook and not through my docking station like I have previously been able to. It shows that it is connected to a power adapter but the battery is not charging.
After dealing with that I decided to swap back to Sonoma. I am getting the preflight error upon recovery startup as well as when I have to agree to the licensing terms there are no terms there to approve. I repaired the startup disk and still had the same issue. I rebooted the laptop and tried to utilize the App Store and was getting the error for Sonoma cannot be installed on the current OS.
this has literally taken almost five hours of just trying to swap back to the other operating system and I still have not been able to.
We are experimenting with the DockKit API in iOS 18. However, we are unable to retrieve the speakingConfidence, lookingAtCameraConfidence, and saliencyRank for the person being tracked. We are able to get the rect and identifier. Has anyone been able to retrieve speakingConfidence, lookingAtCameraConfidence, and saliencyRank?