macOS is the operating system for Mac.

Posts under macOS tag

200 Posts

Post

Replies

Boosts

Views

Activity

NSWindowController subclass in Swift
In trying to convert some Objective-C to Swift, I have a subclass of NSWindowController and want to write a convenience initializer. The documentation says You can also implement an NSWindowController subclass to avoid requiring client code to get the corresponding nib’s filename and pass it to init(windowNibName:) or init(windowNibName:owner:) when instantiating the window controller. The best way to do this is to override windowNibName to return the nib’s filename and instantiate the window controller by passing nil to init(window:). My attempt to do that looks like this: class EdgeTab: NSWindowController { override var windowNibName: NSNib.Name? { "EdgeTab" } required init?(coder: NSCoder) { super.init(coder: coder) } convenience init() { self.init( window: nil ) } } But I'm getting an error message saying "Incorrect argument label in call (have 'window:', expected 'coder:')". Why the heck is the compiler trying to use init(coder:) instead of init(window:)?
2
0
762
Dec ’25
On macOS with Chinese language, app description in the App Store is displayed incompletely
In my impression, this issue has been around for years. In the Mac App Store, the app description is collapsed by default. After clicking "More" to expand it, the last few lines of the description are always cropped. It seems that the more content there is, the more content gets cropped. The following screenshots are from the same app, one with the system language set to Chinese and the other to English.
0
0
83
Dec ’25
macOS 14.8 Keychain Import Fails for PKCS#12 Files Generated with OpenSSL 3.4.0
We recently upgraded OpenSSL from version 1.1.1 to 3.4.0. After this upgrade, we observed that PKCS#12 files generated using OpenSSL 3.4.0 fail to import into the macOS Keychain with the following error: Failed to import PKCS#12 data: -25264 (MAC verification failed during PKCS12 import (wrong password?)) This issue is reproducible on macOS 14.8.2. The same PKCS#12 files import successfully on other macOS versions, including 15.x and 26.x. Additionally, PKCS#12 files that fail to import on macOS 14.8 work correctly when copied and imported on other macOS versions without any errors. PKCS#12 Creation The PKCS#12 data is created using the following OpenSSL API: const char* platformPKCS12SecureKey = _platformSecureKey.has_value() ? _platformSecureKey.value().c_str() : NULL; PKCS12* p12 = PKCS12_create( platformPKCS12SecureKey, NULL, keys, _cert, NULL, 0, 0, 0, 0, 0 ); if (!p12) { throw std::runtime_error("Failed to create PKCS#12 container"); } PKCS#12 Import The generated PKCS#12 data is imported into the macOS Keychain using the following code: NSString *certPassKey = [NSString stringWithUTF8String:getCertPassKey()]; NSDictionary *options = @{ (__bridge id)kSecImportExportPassphrase: certPassKey, (__bridge id)kSecAttrAccessible: (__bridge id)kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, (__bridge id)kSecAttrIsExtractable: @YES, (__bridge id)kSecAttrIsPermanent: @YES, (__bridge id)kSecAttrAccessGroup: APP_GROUP }; CFArrayRef items = NULL; OSStatus status = SecPKCS12Import( (__bridge CFDataRef)pkcs12Data, (__bridge CFDictionaryRef)options, &items );
1
0
302
Jan ’26
evaluateJavaScript callback is significantly slow on macOS 26.2 for iOS App on Mac
Hello, After upgrading to macOS 26.2, I’ve noticed a significant performance regression when calling evaluateJavaScript in an iOS App running on Mac (WKWebView, Swift project). Observed behavior On macOS 26.2, the callback of evaluateJavaScript takes around 3 seconds to return. This happens not only for: evaluateJavaScript("navigator.userAgent") but also for simple or even empty scripts, for example: evaluateJavaScript("") On previous macOS versions, the same calls typically returned in ~200 ms. Additional testing I created a new, empty Objective-C project with a WKWebView and tested the same evaluateJavaScript calls. In the Objective-C project, the callback still returns in ~200 ms, even on macOS 26.2. Question Is this a known issue or regression related to: iOS Apps on Mac, Swift + WKWebView, or behavioral changes in evaluateJavaScript on macOS 26.2? Any information about known issues, internal changes, or recommended workarounds would be greatly appreciated. Thank you. Test Code Swift class ViewController: UIViewController { private var tmpWebView: WKWebView? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. setupUserAgent() } func setupUserAgent() { let t1 = CACurrentMediaTime() tmpWebView = WKWebView(frame: .zero) tmpWebView?.isInspectable = true tmpWebView?.evaluateJavaScript("navigator.userAgent") { [weak self] result, error in let t2 = CACurrentMediaTime() print("[getUserAgent] \(t2 - t1)s") self?.tmpWebView = nil } } } Test Code Objective-C - (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { NSTimeInterval startTime = [[NSDate date] timeIntervalSince1970]; WKWebView *webView = [[WKWebView alloc] init]; dispatch_async(dispatch_get_main_queue(), ^{ [webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id result, NSError *error) { NSTimeInterval endTime = [[NSDate date] timeIntervalSince1970]; NSLog(@"[getUserAgent]: %.2f s", (endTime - startTime)); }]; }); }
6
2
1.6k
Feb ’26
Questions about macOS App Store update package generation and optimization
Hello, According to documentation, the App Store does not re-download the entire app when updating, but instead generates an update package containing only the changed content compared to the previous version. I’d like to clarify the following points: 1. Granularity of file changes If only part of a large file changes, does the update package include the entire file, or does it patch only the modified portions within that file? 2. Guideline on separating files The documentation recommends separating files that are likely to change from those that are not. How should this be interpreted in practice? 3. Verifying the diff result Is there a way for developers to check the actual diff result of the update package generated by the App Store without submitting the app? Is there a diff command tool or comparison method closer to the actual App Store update process? 4. Estimating update size during development For apps with large-scale resources, minimizing update size is critical. Are there any tools or best practices to estimate the size of the update package before submitting to the App Store? Any clarification or reference materials would be greatly appreciated. Thank you.
1
0
183
Jan ’26
Declared Age Range API: iOS/macOS support
While preparing my app for Declared Age Range capability usage, I've noticed a weird behaviour: the same code works for iOS, but not for macOS. My project uses same target for both platforms, so the capability is enabled for both platforms. The business logic layer is also shared across between platforms. Both UI layers are writter in SwiftUI. The iCloud account used for testing on iOS and macOS devices is the same, so even the consent is shared across both devices. While requestAgeRange(ageGates:) seems to work just fine for iOS app, for macOS app it always throws Not available error (DeclaredAgeRange.AgeRangeService.Error.notAvailable) Am I missing something? Could the API be somehow unavailable for macOS? Should I use AgeRangeService.shared.requestAgeRange(ageGates:in:) for macOS instead of SwiftUI's @Environment-based approach? Also, after giving permission, is there a way to actually revoke it? In Age Range for Apps menu I can only view the list of apps that have my consent to share my age range, but not the ability to revoke it.
2
0
239
Dec ’25
Error when updating system extension
I'm currently observing a problem similar to this thread https://developer.apple.com/forums/thread/737334 The difference is that this is happening after updating a system extension. Basically same error, sysextd complains it can not check that the system extension is notarized: macOS Error 3 + Error code=-67050. I think macOS (Sequoia 15.3.2 or 15.7.2 if it matters) is wrong in this case for the following reasons: when using spctl assess -t install, the system extension is reported to be correctly notarized. when restarting the Mac, the updated system extension is correctly checked and staged. if I run spctl assess before sysextd tries to check the system extension, it works. I'm currently thinking of 2 reasons why the check does not work: sysextd is somehow trying to work with a cached assessment that has become invalid after the system extension was updated. macOS needs way more time between the update of the files and the request to update the staged extension. I tried adding a 5-second delay. This does not seem to work or at least reliably. I tried just touching the system extension, no positive result. Unfortunately, in macOS Sequoia, it is not possible anymore to reset-default using spctl and see if it solves the issue, at least the next time the update is performed. [Q] Is there some magic operation that would help macOS correctly check the notarization of an updated system extension?
5
0
700
Feb ’26
How does Apple achieve this effect?
Hi everyone, I'm new to building apps on Swift and recently I've been wondering how does Apple get this blur effect behind the control center on Mac OS Tahoe. I think it would be nice to use in an app that I'm making but I can't seem to find it in the docs. Is it available through AppKit? I would appreciate some help on this
0
0
640
Dec ’25
Safely updating an FSKit module via the Mac App Store
I'm trying to test the update process for an app containing an FSKit module that I'm distributing on the Mac App Store. (I'm also distributing the same app directly with Developer ID, but here I'll focus on App Store because that's the behavior I've been looking at first.) To do that I'm using an internal tester group on TestFlight and then testing an update with TestFlight. Below is the behavior I'm seeing on macOS 15.7.2 (24G325). I've noticed that if an app update is triggered while a disk is mounted using the FSKit extension, the disk is automatically unmounted without warning (FB21287341). That's already undesirable itself in my opinion, but on top of the unmount, there are two other problems: That unmount doesn't seem to be a "clean" unmount and doesn't call functions like synchronize (FB21287688). Now, in my case, my app only provides read-only access, so that doesn't actually matter much in my case. However, I'd imagine if I were to add write access at some point in the future, this would go from "doesn't matter" to "very bad." I've seen a few cases where quitting or crashing the FSModule process while a volume is mounted without actually doing a clean unmount causes a lot of "disk-related actions" (for lack of a better term) to freeze (FB21305906). For example, a use of the mount(8) command or trying to mount a disk at all freezes, and opening Disk Utility stalls on a "Loading disks" spinning indicator. This happens until the Mac is rebooted. I did notice this issue once while testing updates via TestFlight a few times. The same applies if I simply delete the app with Finder instead of updating it. Is there a way to prevent the extension's process from terminating in this case and/or another workaround I could use without waiting for a macOS update to hopefully change this behavior? And does observing this kind of behavior with TestFlight's update behavior suggest the same thing could happen on the App Store with its automatic updates? I'm concerned that pushing an update via the App Store will unexpectedly unmount disks or cause the system-wide issues described in FB21305906 at a random time, which is a pretty big disruption for users.
4
0
452
Feb ’26
Why won't my AutoFill Credential Provider show up in the context menu of a generic textfield?
I noticed, that even though my AutoFill Credential Provider Extension works with Safari for both Passwords and Passkeys, it doesn't work in context menus inside arbitrary textfields, meanwhile the same is true for the Apple Passwords app. This is a great hit to AutoFill productivity, as my extension is unable to fill textfields by just going to the context menu and clicking AutoFill > Passwords.. Is this a feature only available to Apple via private APIs, or is this something I can interface with? I checked and the Passwords app does use some undocumented but non-private entitlements: [Key] com.apple.authentication-services.access-credential-identities [Value] [Bool] true I also checked the responsible executable for some hints (AutoFillPanelService) however found nothing that would lead me to believe this is a public extension point. Another idea I had was trying to use a macOS Service for this, however Services in the "General" category won't show up in any context menu, only in the Application's Main Menu.
0
1
154
Dec ’25
Incorrect packet handling in SMBClient MacOS 26.
SMBClient-593 introduces a crtitical bug. When reading and writing data at high volume, the SMBClient no longer properly receives and handle responses from the server. In some cases, the client mishandles the response packet and the following errors are seen in the logs: 2025-12-02 21:36:04.774772-0700 localhost kernel[0]: (smbfs) smb2_smb_parse_write_one: Bad struct size: 0 2025-12-02 21:36:04.774776-0700 localhost kernel[0]: (smbfs) smb2_smb_write: smb2_smb_read_write_async failed with an error 72 2025-12-02 21:36:04.774777-0700 localhost kernel[0]: (smbfs) smbfs_do_strategy: file.txt: WRITE failed with an error of 72 In other cases, the client mishandles the response packet and becomes completely unresponsive, unable to send or receive additional messages, and a forced shutdown of the computer is required to recover. This bug is only present on macos 26. We believe the operative change is in the latest commit, SMBClient-593 beginning at line now 3011 in smb_iod.c. The issue seems to be a race, and occurs much more frequently once throughput exceeds around 10Gbps, and again more frequently above 20Gbps.
6
7
450
Jan ’26
NSWorkspace openURL fails on file in iCloud Drive
When I pass a file path url of a file in iCloud Drive to -[NSWorkspace openURLs:withApplicationAtURL:configuration:completionHandler:], it fails. There is no exception, and the completion handler isn't called. This is in a sandboxed app on macOS 26.1. NSWorkspaceOpenConfiguration* config = NSWorkspaceOpenConfiguration.configuration; config.activates = YES; config.promptsUserIfNeeded = YES; NSLog(@"performDrag 2 with %@", filePathObs); [NSWorkspace.sharedWorkspace openURLs: filePathObs withApplicationAtURL: appURL configuration: config completionHandler: ^(NSRunningApplication * _Nullable app, NSError * _Nullable error) { NSLog(@"performDrag 3"); if (error != nil) { NSLog(@"%@\n%@", error, filePathObs); } NSLog(@"complete performDrag"); }]; NSLog(@"performDrag 4"); In the debug log, the performDrag 2 and performDrag 4 messages appear. I also looked in the Console log, but the only messages that mention my app don't mean anything to me. AFIsDeviceGreymatterEligible Missing entitlements for os_eligibility lookup 6c Reentrant message: kDragIPCCompleted, current message: kDragIPCLeaveApplication
8
0
735
Dec ’25
Unable to Generate .ipa for .NET MAUI iOS App – Codesign Fails With “unable to build chain to self-signed root”
Hi everyone, I am trying to generate an .ipa file for my .NET MAUI (net9.0-ios) application, but every attempt fails with the same codesigning error. I have tried multiple approaches, including building from Windows paired to macOS, and directly building through the macOS terminal, but nothing is working. Below are the exact steps I followed: Steps I Performed Generated the Apple Development certificate using Keychain Access on macOS. Added that certificate into my developer account and created the corresponding provisioning profile. Created an App ID, attached the App ID to the provisioning profile, and downloaded it. Added the provisioning profile into Xcode. Verified that the certificate is correctly visible in Keychain Access (private key available). Attempted to build/publish the MAUI app to generate the .ipa file. Issue Whenever I run the publish command or build via Windows/macOS, codesigning fails with the following error: /usr/bin/codesign exited with code 1: Frameworks/libSkiaSharp.framework: replacing existing signature Warning: unable to build chain to self-signed root for signer "Apple Development: Created via API (8388XAA3RT)" Frameworks/libSkiaSharp.framework: errSecInternalComponent Failed to codesign 'PCS_EmpApp.app/Frameworks/libSkiaSharp.framework': Warning: unable to build chain to self-signed root for signer "Apple Development: Created via API (8388XAA3RT)" PCS_EmpApp.app: errSecInternalComponent Build eventually fails with: Build failed with 4 error(s) and 509 warning(s) Environment .NET: 9.0 MAUI: latest tools Xcode: 26.0.1 macOS: 26.0.1 Building for ios-arm64 (device) What I suspect It looks like the signer certificate might not be trusted, or the certificate chain cannot connect to an Apple root CA. But the certificate was created using the Developer website and appears valid. Need Help With Why is codesign unable to build the certificate chain? Do I need a different type of certificate? (App Store / Distribution vs Development?) Is there any special configuration required for MAUI apps using native frameworks like libSkiaSharp.framework? How can I successfully generate the .ipa file? Any guidance will be greatly appreciated. Thank you!
1
0
209
Dec ’25
App intent with parameter launches app before taking user input
I built a couple of app intents for macOS, which generally work great. However, I'm struggling with configuring an app intent that takes a parameter, so that it doesn't require the app to launch before presenting people with the list of options. If the app is running and I run the intent in Spotlight, I can see the message defined by the intent's parameterSummary and I can select a parameter from the list of entities. If the app is not running, it is launched first and only then the intent message fully populates in Spotlight and allows parameter selection. What I've tried: Support background or deferred mode in the intent. Conformed the entities to IndexedEntity. Conformed the entity query to EnumerableEntityQuery, implementing suggestedEntities and allEntities. Conformed the entity query to EntityStringQuery. Donated the intent to Spotlight on app launch. Donated the entities to Spotlight on app launch, both using indexSearchableItems and indexAppEntities. Not sure if both are required or if the latter is just a more convenient version of the former. Do I have to conform to or implement something else? Do I need to work with an app intent extension? If so, would I put all app intent code into the extension instead of the main app? Is this a system bug I should file?
0
0
228
Nov ’25
Are read-only filesystems currently supported by FSKit?
I'm writing a read-only filesystem extension. I see that the documentation for loadResource(resource:options:replyHandler:) claims that the --rdonly option is supported, which suggests that this should be possible. However, I have never seen this option provided to my filesystem extension, even if I return usableButLimited as a probe result (where it doesn't mount at all - FB19241327) or pass the -r or -o rdonly options to the mount(8) command. Instead I see those options on the volume's activate call. But other than saving that "readonly" state (which, in my case, is always the case) and then throwing on all write-related calls I'm not sure how to actually mark the filesystem as "read-only." Without such an indicator, the user is still offered the option to do things like trash items in Finder (although of course those operations do not succeed since I throw an EROFS error in the relevant calls). It also seems like the FSKit extensions that come with the system handle read-only strangely as well. For example, for a FAT32 filesystem, if I mount it like mount -r -F -t msdos /dev/disk15s1 /tmp/mnt Then it acts... weirdly. For example, Finder doesn't know that the volume is read-only, and lets me do some operations like making new folders, although they never actually get written to disk. Writing may or may not lead to errors and/or the change just disappearing immediately (or later), which is pretty much what I'm seeing in my own filesystem extension. If I remove the -F option (thus using the kernel extension version of msdos), this doesn't happen. Are read-only filesystems currently supported by FSKit? The fact that extensions like Apple's own msdos also seem to act weirdly makes me think this is just a current FSKit limitation, although maybe I'm missing something. It's not necessarily a hard blocker given that I can prevent writes from happening in my FSKit module code (or, in my case, just not implement such features at all), but it does make for a strange experience. (I reported this as FB21068845, although I'm mostly asking here because I'm not 100% sure this is not just me missing something.)
23
0
1.1k
11h
Wakes (CalendarDate), although related UI settings are off
Hi everyone, I need help stopping the maintenance wakes due to "CalendarDate". All apparently related UI settings are off (Calendar: manual refresh, no notifications, time to travel OFF, Settings > Time & Date > Automatic time & date OFF) Two days ago, I got hourly dark wakes, but then I turned "Automatic time & date" off, and now I only got 5 wakes instead of 10, but I think this still shouldn't happen with all these settings off. I would appreciate any help. System: macOS 26.1 MacBook Pro 2019 pmset -g VACTDisabled 0 Currently in use: lidwake 1 lowpowermode 0 standbydelayhigh 0 proximitywake 0 standby 0 standbydelaylow 0 ttyskeepawake 0 hibernatemode 3 powernap 0 gpuswitch 2 hibernatefile /var/vm/sleepimage highstandbythreshold 50 displaysleep 10 womp 0 networkoversleep 0 sleep 0 (sleep prevented by bluetoothd, mds_stores) tcpkeepalive 0 halfdim 0 acwake 0 disksleep 10 pmset -g log | grep "due to" 2025-11-16 00:26:38 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 00:27:23 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 13728 secs 2025-11-16 04:16:11 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 04:16:56 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 7216 secs 2025-11-16 06:17:12 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 06:17:57 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 3616 secs 2025-11-16 07:18:13 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 07:18:58 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 3616 secs 2025-11-16 08:19:14 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 08:19:59 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 1457 secs log show --predicate '"SMCRTC"' --start "2025-11-16 00:00:00" --end "2025-11-16 08:00:00" --info --debug (showing only the sequence from the first dark wake) 2025-11-16 00:26:29.315541+0100 0x125b50 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 1 2025-11-16 00:26:29.322608+0100 0x125a3e Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:26:29.322625+0100 0x125a3e Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:26:38.242885+0100 0x125c15 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:26:38.242889+0100 0x125c15 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:27:40.807018+0100 0x126175 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 3:16:0 (0) 2025-11-16 00:27:40.807038+0100 0x126175 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 3:16:0 (0) 2025-11-16 00:27:42.262812+0100 0x126290 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 00:27:42.262823+0100 0x126290 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 00:27:43.836823+0100 0x1262b2 Default 0x0 0 0 kernel: [143883.997279]: SMCRTC: setAlarmEnable 0xe0000280 2025-11-16 00:27:43.836830+0100 0x1262b2 Default 0x0 0 0 kernel: [143883.999744]: SMCRTC: enabled wake alarm (MaintenanceWakeCalendarDate) in 13697 seconds 2025-11-16 00:27:43.836836+0100 0x1262b2 Default 0x0 0 0 kernel: [143883.999845]: SMCRTC: setAlarmEnable 0xe0000300 2025-11-16 00:27:44.385470+0100 0x126209 Default 0x0 0 0 kernel: IOPlatformWakeAction -> AppleSMCRTC 2025-11-16 00:27:44.385474+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 00:27:44.385477+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 00:27:44.385481+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 03:16:00 2025-11-16 00:27:44.385485+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 03:16:00
5
0
179
Nov ’25
MaintenanceWakeCalendarDate wakes, although related UI settings are off
Hi everyone, My MBP keeps waking from sleep every night to perform Calendar maintenance, although all UI settings that seem related are turned off (Calendar: manual refresh, time to travel = OFF, Clock: automatic time & date = OFF, Automatic Time Machine backup = OFF) Does anyone know how to stop this? Thank you! Here's a log entry sequence filtered by "SMCRTC", which is what's setting the wake alarms. 2025-11-16 06:17:03.314744+0100 0x126a4c Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 1 2025-11-16 06:17:03.321001+0100 0x126a25 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:17:03.321006+0100 0x126a25 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:17:12.237732+0100 0x126ab8 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:17:12.237755+0100 0x126ab8 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:18:15.297172+0100 0x127051 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 6:18:3 (0) 2025-11-16 06:18:15.297191+0100 0x127051 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 6:18:3 (0) 2025-11-16 06:18:16.747652+0100 0x127119 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 06:18:16.747678+0100 0x127119 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 06:18:18.320761+0100 0x78 Default 0x0 0 0 kernel: [164918.482167]: SMCRTC: setAlarmEnable 0xe0000280 2025-11-16 06:18:18.320767+0100 0x78 Default 0x0 0 0 kernel: [164918.484702]: SMCRTC: enabled wake alarm (MaintenanceWakeCalendarDate) in 3585 seconds 2025-11-16 06:18:18.320773+0100 0x78 Default 0x0 0 0 kernel: [164918.484802]: SMCRTC: setAlarmEnable 0xe0000300 2025-11-16 06:18:18.873247+0100 0x1271c6 Default 0x0 0 0 kernel: IOPlatformWakeAction -> AppleSMCRTC 2025-11-16 06:18:18.873252+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 06:18:18.873254+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 06:18:18.873259+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 06:18:03 2025-11-16 06:18:18.873262+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 06:18:03
1
0
70
Nov ’25
Does Mac Catalyst support Background Processing?
I have an app for macOS that is built using Mac Catalyst. I need to perform some background processing. I'm using BGProcessingTaskRequest to schedule the request. I have also integrated CKSyncEngine so I need that to be able to perform its normal background processing. On iOS, when the user leaves the app, I can see a log message that the request was scheduled and a bit later I see log messages coming from the actual background task code. On macOS I ran the app from Xcode. I then quit the app (Cmd-q). I can see the log message that the request was scheduled. But the actual task is never run. In my test, I ran my app on a MacBook Pro running macOS 26.0. When I quit the app, I checked the log file in the app sandbox and saw the message that the task was scheduled. About 20 minutes later I closed the lid on the MacBook Pro for the night. I did not power down, it just went to sleep. Roughly 10 hours later I opened the lid on the MacBook Pro, logged in, and checked the log file. It had not been updated since quitting the app. I should also mention that the laptop was not plugged in at all during this period. My question is, does a Mac Catalyst app support background processing after the user quits the app? If so, how is it enabled? The documentation for BGProcessingTaskRequest and BGProcessingTask show they are supported under Mac Catalyst, but I couldn't find any documentation in the Background Tasks section that mentioned anything specific to setup for Mac Catalyst. Running the Settings app and going to General -> Login Items & Extension, I do not see my app under the App Background Activity section. Does it need to be listed there? If so, what steps are needed to get it there? If this is all documented somewhere, I'd appreciate a link since I was not able to find anything specific to making this work under Mac Catalyst.
4
1
309
Nov ’25
NSWindowController subclass in Swift
In trying to convert some Objective-C to Swift, I have a subclass of NSWindowController and want to write a convenience initializer. The documentation says You can also implement an NSWindowController subclass to avoid requiring client code to get the corresponding nib’s filename and pass it to init(windowNibName:) or init(windowNibName:owner:) when instantiating the window controller. The best way to do this is to override windowNibName to return the nib’s filename and instantiate the window controller by passing nil to init(window:). My attempt to do that looks like this: class EdgeTab: NSWindowController { override var windowNibName: NSNib.Name? { "EdgeTab" } required init?(coder: NSCoder) { super.init(coder: coder) } convenience init() { self.init( window: nil ) } } But I'm getting an error message saying "Incorrect argument label in call (have 'window:', expected 'coder:')". Why the heck is the compiler trying to use init(coder:) instead of init(window:)?
Replies
2
Boosts
0
Views
762
Activity
Dec ’25
On macOS with Chinese language, app description in the App Store is displayed incompletely
In my impression, this issue has been around for years. In the Mac App Store, the app description is collapsed by default. After clicking "More" to expand it, the last few lines of the description are always cropped. It seems that the more content there is, the more content gets cropped. The following screenshots are from the same app, one with the system language set to Chinese and the other to English.
Replies
0
Boosts
0
Views
83
Activity
Dec ’25
macOS 14.8 Keychain Import Fails for PKCS#12 Files Generated with OpenSSL 3.4.0
We recently upgraded OpenSSL from version 1.1.1 to 3.4.0. After this upgrade, we observed that PKCS#12 files generated using OpenSSL 3.4.0 fail to import into the macOS Keychain with the following error: Failed to import PKCS#12 data: -25264 (MAC verification failed during PKCS12 import (wrong password?)) This issue is reproducible on macOS 14.8.2. The same PKCS#12 files import successfully on other macOS versions, including 15.x and 26.x. Additionally, PKCS#12 files that fail to import on macOS 14.8 work correctly when copied and imported on other macOS versions without any errors. PKCS#12 Creation The PKCS#12 data is created using the following OpenSSL API: const char* platformPKCS12SecureKey = _platformSecureKey.has_value() ? _platformSecureKey.value().c_str() : NULL; PKCS12* p12 = PKCS12_create( platformPKCS12SecureKey, NULL, keys, _cert, NULL, 0, 0, 0, 0, 0 ); if (!p12) { throw std::runtime_error("Failed to create PKCS#12 container"); } PKCS#12 Import The generated PKCS#12 data is imported into the macOS Keychain using the following code: NSString *certPassKey = [NSString stringWithUTF8String:getCertPassKey()]; NSDictionary *options = @{ (__bridge id)kSecImportExportPassphrase: certPassKey, (__bridge id)kSecAttrAccessible: (__bridge id)kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, (__bridge id)kSecAttrIsExtractable: @YES, (__bridge id)kSecAttrIsPermanent: @YES, (__bridge id)kSecAttrAccessGroup: APP_GROUP }; CFArrayRef items = NULL; OSStatus status = SecPKCS12Import( (__bridge CFDataRef)pkcs12Data, (__bridge CFDictionaryRef)options, &items );
Replies
1
Boosts
0
Views
302
Activity
Jan ’26
evaluateJavaScript callback is significantly slow on macOS 26.2 for iOS App on Mac
Hello, After upgrading to macOS 26.2, I’ve noticed a significant performance regression when calling evaluateJavaScript in an iOS App running on Mac (WKWebView, Swift project). Observed behavior On macOS 26.2, the callback of evaluateJavaScript takes around 3 seconds to return. This happens not only for: evaluateJavaScript("navigator.userAgent") but also for simple or even empty scripts, for example: evaluateJavaScript("") On previous macOS versions, the same calls typically returned in ~200 ms. Additional testing I created a new, empty Objective-C project with a WKWebView and tested the same evaluateJavaScript calls. In the Objective-C project, the callback still returns in ~200 ms, even on macOS 26.2. Question Is this a known issue or regression related to: iOS Apps on Mac, Swift + WKWebView, or behavioral changes in evaluateJavaScript on macOS 26.2? Any information about known issues, internal changes, or recommended workarounds would be greatly appreciated. Thank you. Test Code Swift class ViewController: UIViewController { private var tmpWebView: WKWebView? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. setupUserAgent() } func setupUserAgent() { let t1 = CACurrentMediaTime() tmpWebView = WKWebView(frame: .zero) tmpWebView?.isInspectable = true tmpWebView?.evaluateJavaScript("navigator.userAgent") { [weak self] result, error in let t2 = CACurrentMediaTime() print("[getUserAgent] \(t2 - t1)s") self?.tmpWebView = nil } } } Test Code Objective-C - (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { NSTimeInterval startTime = [[NSDate date] timeIntervalSince1970]; WKWebView *webView = [[WKWebView alloc] init]; dispatch_async(dispatch_get_main_queue(), ^{ [webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id result, NSError *error) { NSTimeInterval endTime = [[NSDate date] timeIntervalSince1970]; NSLog(@"[getUserAgent]: %.2f s", (endTime - startTime)); }]; }); }
Replies
6
Boosts
2
Views
1.6k
Activity
Feb ’26
Questions about macOS App Store update package generation and optimization
Hello, According to documentation, the App Store does not re-download the entire app when updating, but instead generates an update package containing only the changed content compared to the previous version. I’d like to clarify the following points: 1. Granularity of file changes If only part of a large file changes, does the update package include the entire file, or does it patch only the modified portions within that file? 2. Guideline on separating files The documentation recommends separating files that are likely to change from those that are not. How should this be interpreted in practice? 3. Verifying the diff result Is there a way for developers to check the actual diff result of the update package generated by the App Store without submitting the app? Is there a diff command tool or comparison method closer to the actual App Store update process? 4. Estimating update size during development For apps with large-scale resources, minimizing update size is critical. Are there any tools or best practices to estimate the size of the update package before submitting to the App Store? Any clarification or reference materials would be greatly appreciated. Thank you.
Replies
1
Boosts
0
Views
183
Activity
Jan ’26
Declared Age Range API: iOS/macOS support
While preparing my app for Declared Age Range capability usage, I've noticed a weird behaviour: the same code works for iOS, but not for macOS. My project uses same target for both platforms, so the capability is enabled for both platforms. The business logic layer is also shared across between platforms. Both UI layers are writter in SwiftUI. The iCloud account used for testing on iOS and macOS devices is the same, so even the consent is shared across both devices. While requestAgeRange(ageGates:) seems to work just fine for iOS app, for macOS app it always throws Not available error (DeclaredAgeRange.AgeRangeService.Error.notAvailable) Am I missing something? Could the API be somehow unavailable for macOS? Should I use AgeRangeService.shared.requestAgeRange(ageGates:in:) for macOS instead of SwiftUI's @Environment-based approach? Also, after giving permission, is there a way to actually revoke it? In Age Range for Apps menu I can only view the list of apps that have my consent to share my age range, but not the ability to revoke it.
Replies
2
Boosts
0
Views
239
Activity
Dec ’25
Error when updating system extension
I'm currently observing a problem similar to this thread https://developer.apple.com/forums/thread/737334 The difference is that this is happening after updating a system extension. Basically same error, sysextd complains it can not check that the system extension is notarized: macOS Error 3 + Error code=-67050. I think macOS (Sequoia 15.3.2 or 15.7.2 if it matters) is wrong in this case for the following reasons: when using spctl assess -t install, the system extension is reported to be correctly notarized. when restarting the Mac, the updated system extension is correctly checked and staged. if I run spctl assess before sysextd tries to check the system extension, it works. I'm currently thinking of 2 reasons why the check does not work: sysextd is somehow trying to work with a cached assessment that has become invalid after the system extension was updated. macOS needs way more time between the update of the files and the request to update the staged extension. I tried adding a 5-second delay. This does not seem to work or at least reliably. I tried just touching the system extension, no positive result. Unfortunately, in macOS Sequoia, it is not possible anymore to reset-default using spctl and see if it solves the issue, at least the next time the update is performed. [Q] Is there some magic operation that would help macOS correctly check the notarization of an updated system extension?
Replies
5
Boosts
0
Views
700
Activity
Feb ’26
How does Apple achieve this effect?
Hi everyone, I'm new to building apps on Swift and recently I've been wondering how does Apple get this blur effect behind the control center on Mac OS Tahoe. I think it would be nice to use in an app that I'm making but I can't seem to find it in the docs. Is it available through AppKit? I would appreciate some help on this
Replies
0
Boosts
0
Views
640
Activity
Dec ’25
Safely updating an FSKit module via the Mac App Store
I'm trying to test the update process for an app containing an FSKit module that I'm distributing on the Mac App Store. (I'm also distributing the same app directly with Developer ID, but here I'll focus on App Store because that's the behavior I've been looking at first.) To do that I'm using an internal tester group on TestFlight and then testing an update with TestFlight. Below is the behavior I'm seeing on macOS 15.7.2 (24G325). I've noticed that if an app update is triggered while a disk is mounted using the FSKit extension, the disk is automatically unmounted without warning (FB21287341). That's already undesirable itself in my opinion, but on top of the unmount, there are two other problems: That unmount doesn't seem to be a "clean" unmount and doesn't call functions like synchronize (FB21287688). Now, in my case, my app only provides read-only access, so that doesn't actually matter much in my case. However, I'd imagine if I were to add write access at some point in the future, this would go from "doesn't matter" to "very bad." I've seen a few cases where quitting or crashing the FSModule process while a volume is mounted without actually doing a clean unmount causes a lot of "disk-related actions" (for lack of a better term) to freeze (FB21305906). For example, a use of the mount(8) command or trying to mount a disk at all freezes, and opening Disk Utility stalls on a "Loading disks" spinning indicator. This happens until the Mac is rebooted. I did notice this issue once while testing updates via TestFlight a few times. The same applies if I simply delete the app with Finder instead of updating it. Is there a way to prevent the extension's process from terminating in this case and/or another workaround I could use without waiting for a macOS update to hopefully change this behavior? And does observing this kind of behavior with TestFlight's update behavior suggest the same thing could happen on the App Store with its automatic updates? I'm concerned that pushing an update via the App Store will unexpectedly unmount disks or cause the system-wide issues described in FB21305906 at a random time, which is a pretty big disruption for users.
Replies
4
Boosts
0
Views
452
Activity
Feb ’26
Why won't my AutoFill Credential Provider show up in the context menu of a generic textfield?
I noticed, that even though my AutoFill Credential Provider Extension works with Safari for both Passwords and Passkeys, it doesn't work in context menus inside arbitrary textfields, meanwhile the same is true for the Apple Passwords app. This is a great hit to AutoFill productivity, as my extension is unable to fill textfields by just going to the context menu and clicking AutoFill > Passwords.. Is this a feature only available to Apple via private APIs, or is this something I can interface with? I checked and the Passwords app does use some undocumented but non-private entitlements: [Key] com.apple.authentication-services.access-credential-identities [Value] [Bool] true I also checked the responsible executable for some hints (AutoFillPanelService) however found nothing that would lead me to believe this is a public extension point. Another idea I had was trying to use a macOS Service for this, however Services in the "General" category won't show up in any context menu, only in the Application's Main Menu.
Replies
0
Boosts
1
Views
154
Activity
Dec ’25
Can't sign in to Apple in Tahoe VM
Running Tahoe 26.1 in a virtual machine, I can't sign into my Apple account. There is an error message saying "Could not communicate with the server." Internet access otherwise seems to be working in the VM. I tried both UTM and VirtualBuddy. Is this supposed to work?
Replies
1
Boosts
0
Views
397
Activity
Dec ’25
Incorrect packet handling in SMBClient MacOS 26.
SMBClient-593 introduces a crtitical bug. When reading and writing data at high volume, the SMBClient no longer properly receives and handle responses from the server. In some cases, the client mishandles the response packet and the following errors are seen in the logs: 2025-12-02 21:36:04.774772-0700 localhost kernel[0]: (smbfs) smb2_smb_parse_write_one: Bad struct size: 0 2025-12-02 21:36:04.774776-0700 localhost kernel[0]: (smbfs) smb2_smb_write: smb2_smb_read_write_async failed with an error 72 2025-12-02 21:36:04.774777-0700 localhost kernel[0]: (smbfs) smbfs_do_strategy: file.txt: WRITE failed with an error of 72 In other cases, the client mishandles the response packet and becomes completely unresponsive, unable to send or receive additional messages, and a forced shutdown of the computer is required to recover. This bug is only present on macos 26. We believe the operative change is in the latest commit, SMBClient-593 beginning at line now 3011 in smb_iod.c. The issue seems to be a race, and occurs much more frequently once throughput exceeds around 10Gbps, and again more frequently above 20Gbps.
Replies
6
Boosts
7
Views
450
Activity
Jan ’26
NSWorkspace openURL fails on file in iCloud Drive
When I pass a file path url of a file in iCloud Drive to -[NSWorkspace openURLs:withApplicationAtURL:configuration:completionHandler:], it fails. There is no exception, and the completion handler isn't called. This is in a sandboxed app on macOS 26.1. NSWorkspaceOpenConfiguration* config = NSWorkspaceOpenConfiguration.configuration; config.activates = YES; config.promptsUserIfNeeded = YES; NSLog(@"performDrag 2 with %@", filePathObs); [NSWorkspace.sharedWorkspace openURLs: filePathObs withApplicationAtURL: appURL configuration: config completionHandler: ^(NSRunningApplication * _Nullable app, NSError * _Nullable error) { NSLog(@"performDrag 3"); if (error != nil) { NSLog(@"%@\n%@", error, filePathObs); } NSLog(@"complete performDrag"); }]; NSLog(@"performDrag 4"); In the debug log, the performDrag 2 and performDrag 4 messages appear. I also looked in the Console log, but the only messages that mention my app don't mean anything to me. AFIsDeviceGreymatterEligible Missing entitlements for os_eligibility lookup 6c Reentrant message: kDragIPCCompleted, current message: kDragIPCLeaveApplication
Replies
8
Boosts
0
Views
735
Activity
Dec ’25
Unable to Generate .ipa for .NET MAUI iOS App – Codesign Fails With “unable to build chain to self-signed root”
Hi everyone, I am trying to generate an .ipa file for my .NET MAUI (net9.0-ios) application, but every attempt fails with the same codesigning error. I have tried multiple approaches, including building from Windows paired to macOS, and directly building through the macOS terminal, but nothing is working. Below are the exact steps I followed: Steps I Performed Generated the Apple Development certificate using Keychain Access on macOS. Added that certificate into my developer account and created the corresponding provisioning profile. Created an App ID, attached the App ID to the provisioning profile, and downloaded it. Added the provisioning profile into Xcode. Verified that the certificate is correctly visible in Keychain Access (private key available). Attempted to build/publish the MAUI app to generate the .ipa file. Issue Whenever I run the publish command or build via Windows/macOS, codesigning fails with the following error: /usr/bin/codesign exited with code 1: Frameworks/libSkiaSharp.framework: replacing existing signature Warning: unable to build chain to self-signed root for signer "Apple Development: Created via API (8388XAA3RT)" Frameworks/libSkiaSharp.framework: errSecInternalComponent Failed to codesign 'PCS_EmpApp.app/Frameworks/libSkiaSharp.framework': Warning: unable to build chain to self-signed root for signer "Apple Development: Created via API (8388XAA3RT)" PCS_EmpApp.app: errSecInternalComponent Build eventually fails with: Build failed with 4 error(s) and 509 warning(s) Environment .NET: 9.0 MAUI: latest tools Xcode: 26.0.1 macOS: 26.0.1 Building for ios-arm64 (device) What I suspect It looks like the signer certificate might not be trusted, or the certificate chain cannot connect to an Apple root CA. But the certificate was created using the Developer website and appears valid. Need Help With Why is codesign unable to build the certificate chain? Do I need a different type of certificate? (App Store / Distribution vs Development?) Is there any special configuration required for MAUI apps using native frameworks like libSkiaSharp.framework? How can I successfully generate the .ipa file? Any guidance will be greatly appreciated. Thank you!
Replies
1
Boosts
0
Views
209
Activity
Dec ’25
“bash requesting screen access” popup in Mac OS 15
How can I allow the popup I am encountering while I run my UI tests with video recording in the Github actions. Since these tests are running on VMs, it's not possible to manually click Allow. Also the remote robot cannot interact with OS-level dialogs.
Replies
0
Boosts
0
Views
305
Activity
Nov ’25
App intent with parameter launches app before taking user input
I built a couple of app intents for macOS, which generally work great. However, I'm struggling with configuring an app intent that takes a parameter, so that it doesn't require the app to launch before presenting people with the list of options. If the app is running and I run the intent in Spotlight, I can see the message defined by the intent's parameterSummary and I can select a parameter from the list of entities. If the app is not running, it is launched first and only then the intent message fully populates in Spotlight and allows parameter selection. What I've tried: Support background or deferred mode in the intent. Conformed the entities to IndexedEntity. Conformed the entity query to EnumerableEntityQuery, implementing suggestedEntities and allEntities. Conformed the entity query to EntityStringQuery. Donated the intent to Spotlight on app launch. Donated the entities to Spotlight on app launch, both using indexSearchableItems and indexAppEntities. Not sure if both are required or if the latter is just a more convenient version of the former. Do I have to conform to or implement something else? Do I need to work with an app intent extension? If so, would I put all app intent code into the extension instead of the main app? Is this a system bug I should file?
Replies
0
Boosts
0
Views
228
Activity
Nov ’25
Are read-only filesystems currently supported by FSKit?
I'm writing a read-only filesystem extension. I see that the documentation for loadResource(resource:options:replyHandler:) claims that the --rdonly option is supported, which suggests that this should be possible. However, I have never seen this option provided to my filesystem extension, even if I return usableButLimited as a probe result (where it doesn't mount at all - FB19241327) or pass the -r or -o rdonly options to the mount(8) command. Instead I see those options on the volume's activate call. But other than saving that "readonly" state (which, in my case, is always the case) and then throwing on all write-related calls I'm not sure how to actually mark the filesystem as "read-only." Without such an indicator, the user is still offered the option to do things like trash items in Finder (although of course those operations do not succeed since I throw an EROFS error in the relevant calls). It also seems like the FSKit extensions that come with the system handle read-only strangely as well. For example, for a FAT32 filesystem, if I mount it like mount -r -F -t msdos /dev/disk15s1 /tmp/mnt Then it acts... weirdly. For example, Finder doesn't know that the volume is read-only, and lets me do some operations like making new folders, although they never actually get written to disk. Writing may or may not lead to errors and/or the change just disappearing immediately (or later), which is pretty much what I'm seeing in my own filesystem extension. If I remove the -F option (thus using the kernel extension version of msdos), this doesn't happen. Are read-only filesystems currently supported by FSKit? The fact that extensions like Apple's own msdos also seem to act weirdly makes me think this is just a current FSKit limitation, although maybe I'm missing something. It's not necessarily a hard blocker given that I can prevent writes from happening in my FSKit module code (or, in my case, just not implement such features at all), but it does make for a strange experience. (I reported this as FB21068845, although I'm mostly asking here because I'm not 100% sure this is not just me missing something.)
Replies
23
Boosts
0
Views
1.1k
Activity
11h
Wakes (CalendarDate), although related UI settings are off
Hi everyone, I need help stopping the maintenance wakes due to "CalendarDate". All apparently related UI settings are off (Calendar: manual refresh, no notifications, time to travel OFF, Settings > Time & Date > Automatic time & date OFF) Two days ago, I got hourly dark wakes, but then I turned "Automatic time & date" off, and now I only got 5 wakes instead of 10, but I think this still shouldn't happen with all these settings off. I would appreciate any help. System: macOS 26.1 MacBook Pro 2019 pmset -g VACTDisabled 0 Currently in use: lidwake 1 lowpowermode 0 standbydelayhigh 0 proximitywake 0 standby 0 standbydelaylow 0 ttyskeepawake 0 hibernatemode 3 powernap 0 gpuswitch 2 hibernatefile /var/vm/sleepimage highstandbythreshold 50 displaysleep 10 womp 0 networkoversleep 0 sleep 0 (sleep prevented by bluetoothd, mds_stores) tcpkeepalive 0 halfdim 0 acwake 0 disksleep 10 pmset -g log | grep "due to" 2025-11-16 00:26:38 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 00:27:23 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 13728 secs 2025-11-16 04:16:11 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 04:16:56 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 7216 secs 2025-11-16 06:17:12 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 06:17:57 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 3616 secs 2025-11-16 07:18:13 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 07:18:58 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 3616 secs 2025-11-16 08:19:14 +0100 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs 2025-11-16 08:19:59 +0100 Sleep Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:100%) 1457 secs log show --predicate '"SMCRTC"' --start "2025-11-16 00:00:00" --end "2025-11-16 08:00:00" --info --debug (showing only the sequence from the first dark wake) 2025-11-16 00:26:29.315541+0100 0x125b50 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 1 2025-11-16 00:26:29.322608+0100 0x125a3e Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:26:29.322625+0100 0x125a3e Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:26:38.242885+0100 0x125c15 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:26:38.242889+0100 0x125c15 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 00:27:40.807018+0100 0x126175 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 3:16:0 (0) 2025-11-16 00:27:40.807038+0100 0x126175 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 3:16:0 (0) 2025-11-16 00:27:42.262812+0100 0x126290 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 00:27:42.262823+0100 0x126290 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 00:27:43.836823+0100 0x1262b2 Default 0x0 0 0 kernel: [143883.997279]: SMCRTC: setAlarmEnable 0xe0000280 2025-11-16 00:27:43.836830+0100 0x1262b2 Default 0x0 0 0 kernel: [143883.999744]: SMCRTC: enabled wake alarm (MaintenanceWakeCalendarDate) in 13697 seconds 2025-11-16 00:27:43.836836+0100 0x1262b2 Default 0x0 0 0 kernel: [143883.999845]: SMCRTC: setAlarmEnable 0xe0000300 2025-11-16 00:27:44.385470+0100 0x126209 Default 0x0 0 0 kernel: IOPlatformWakeAction -> AppleSMCRTC 2025-11-16 00:27:44.385474+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 00:27:44.385477+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 00:27:44.385481+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 03:16:00 2025-11-16 00:27:44.385485+0100 0x126209 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 03:16:00
Replies
5
Boosts
0
Views
179
Activity
Nov ’25
MaintenanceWakeCalendarDate wakes, although related UI settings are off
Hi everyone, My MBP keeps waking from sleep every night to perform Calendar maintenance, although all UI settings that seem related are turned off (Calendar: manual refresh, time to travel = OFF, Clock: automatic time & date = OFF, Automatic Time Machine backup = OFF) Does anyone know how to stop this? Thank you! Here's a log entry sequence filtered by "SMCRTC", which is what's setting the wake alarms. 2025-11-16 06:17:03.314744+0100 0x126a4c Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 1 2025-11-16 06:17:03.321001+0100 0x126a25 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:17:03.321006+0100 0x126a25 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:17:12.237732+0100 0x126ab8 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:17:12.237755+0100 0x126ab8 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [PowerByCalendarDate] 0/0/0 0:0:0 (0) 2025-11-16 06:18:15.297172+0100 0x127051 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 6:18:3 (0) 2025-11-16 06:18:15.297191+0100 0x127051 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: [MaintenanceWakeCalendarDate] 2025/11/16 6:18:3 (0) 2025-11-16 06:18:16.747652+0100 0x127119 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 06:18:16.747678+0100 0x127119 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: setPowerState 0 2025-11-16 06:18:18.320761+0100 0x78 Default 0x0 0 0 kernel: [164918.482167]: SMCRTC: setAlarmEnable 0xe0000280 2025-11-16 06:18:18.320767+0100 0x78 Default 0x0 0 0 kernel: [164918.484702]: SMCRTC: enabled wake alarm (MaintenanceWakeCalendarDate) in 3585 seconds 2025-11-16 06:18:18.320773+0100 0x78 Default 0x0 0 0 kernel: [164918.484802]: SMCRTC: setAlarmEnable 0xe0000300 2025-11-16 06:18:18.873247+0100 0x1271c6 Default 0x0 0 0 kernel: IOPlatformWakeAction -> AppleSMCRTC 2025-11-16 06:18:18.873252+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 06:18:18.873254+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: updated wake type to Maintenance 2025-11-16 06:18:18.873259+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 06:18:03 2025-11-16 06:18:18.873262+0100 0x1271c6 Default 0x0 0 0 kernel: (AppleSMCRTC) SMCRTC: Maintenance 2025/11/16 06:18:03
Replies
1
Boosts
0
Views
70
Activity
Nov ’25
Does Mac Catalyst support Background Processing?
I have an app for macOS that is built using Mac Catalyst. I need to perform some background processing. I'm using BGProcessingTaskRequest to schedule the request. I have also integrated CKSyncEngine so I need that to be able to perform its normal background processing. On iOS, when the user leaves the app, I can see a log message that the request was scheduled and a bit later I see log messages coming from the actual background task code. On macOS I ran the app from Xcode. I then quit the app (Cmd-q). I can see the log message that the request was scheduled. But the actual task is never run. In my test, I ran my app on a MacBook Pro running macOS 26.0. When I quit the app, I checked the log file in the app sandbox and saw the message that the task was scheduled. About 20 minutes later I closed the lid on the MacBook Pro for the night. I did not power down, it just went to sleep. Roughly 10 hours later I opened the lid on the MacBook Pro, logged in, and checked the log file. It had not been updated since quitting the app. I should also mention that the laptop was not plugged in at all during this period. My question is, does a Mac Catalyst app support background processing after the user quits the app? If so, how is it enabled? The documentation for BGProcessingTaskRequest and BGProcessingTask show they are supported under Mac Catalyst, but I couldn't find any documentation in the Background Tasks section that mentioned anything specific to setup for Mac Catalyst. Running the Settings app and going to General -> Login Items & Extension, I do not see my app under the App Background Activity section. Does it need to be listed there? If so, what steps are needed to get it there? If this is all documented somewhere, I'd appreciate a link since I was not able to find anything specific to making this work under Mac Catalyst.
Replies
4
Boosts
1
Views
309
Activity
Nov ’25