Discuss hardware-specific topics related to Mac.

Posts under Mac tag

32 Posts

Post

Replies

Boosts

Views

Activity

Opening a New Document from File URL?
I have a sample document-based macOS app. I understand that you can open a new window or a new tab with some text. import SwiftUI struct ContentView: View { @Binding var document: TexDocument @Environment(\.newDocument) var newDocument var body: some View { VStack(spacing: 0) { topView } } private var topView: some View { Button { newDocument(TexDocument(text: "A whole new world!")) } label: { Text("Open new window") .frame(width: 200) } } } Suppose that I have a path to a text file whose security-scoped bookmark can be resolved with a click of a button. I wonder if you can open a new window or a new tab with the corresponding content?. I have done that in Cocoa. I hope I can do it in SwiftUI as well. Thanks.
1
0
105
May ’25
Reliable APIs to check if a Hotkey/Shortcut is already in use?
In our application we have two usecases for a Hotkey/Shortcut identification API/method. We have some predefined shortcuts that will ship with our MacOS application. They may or may not change dynamically, based on what the user has already set as shortcuts/hotkeys, and also to avoid any important system wide shortcuts that the user may or may not have changed. We allow the user to customize the shortcuts/hotkeys in our application, so we want to show what shortcuts the user already has in use system-wide and across their OS experience. This gives rise to the need for an API that lets us know which shortcut/hotkeys are currently being used by the user and also the current system wide OS shortcuts in use. Please let me know if there are any APIs in AppKit or SwiftUI we can use for the above
0
0
190
Mar ’25
Detecting DarkWake and Maintainance Sleep transitions
On a macOS machine running v15.0, I have a daemon run by launchd which subscribes to the sleep and wakeup notifications using the IORegisterForSystemPower method. void PowerCallBack(void* refCon, io_service_t service, natural_t messageType, void* messageArgument) { switch (messageType) { case kIOMessageSystemWillSleep: logger->Debug("Received sleep notification from macOS"); if (refCon) { //Handle Sleep } IOAllowPowerChange(root_port, (long)messageArgument); break; case kIOMessageSystemHasPoweredOn: logger->Debug("Received wakeup notification from macOS"); if (refCon) { // Handle Wakeup } break; default: break; } } void MacOSNotification::RegisterNotifications() { logger->Debug("Registering for notifications from macOS"); powerNotificationThread = [[NSThread alloc] initWithBlock:^{ // Notifier object, used to deregister later root_port = IORegisterForSystemPower(this, &notifyPortRef, PowerCallBack, &notifierObject); if (root_port == 0) { return; } logger->Debug("Registered for system power notifications from macOS"); // Add the notification port to the application runloop CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(notifyPortRef), kCFRunLoopCommonModes); CFRunLoopRun(); }]; //END OF THREAD BLOCK [powerNotificationThread start]; } Using this mechanism, I am getting notifications for normal sleep and wakeup transitions like closing and opening the lid. I need these notifications to terminate/reconnect my connection to a cloud service when we go to sleep/wakeup respectively. I have noticed from the power logs at /private/var/log/powermanagement that the after the sleep initiated by lid closing or clicking sleep in the top apple menu (both of which I can detect as they generate power notification), the macOS machine wakes up with the following message from powerd logs: DarkWake from Deep Idle [CDNP] : due to SMC.OutboxNotEmpty smc.70070000 wifibt/ I do not get any notification for this wakeup and my application threads start running. This happens every 15 to 16 mins from my observation. After this DarkWake, we go back to 'Maintenance' sleep in under a minute as can be seen by the following powerd log: Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=active I do not get any notifications for this either. Is there a way to track and get notified of these DarkWake -> Maintenance sleep cycles? At the very least I would like to log when we go into and come out of these states. Currently I just rely on seeing a 15 min window of no logs to know this must have a DarkWake -> Maintenance sleep cycle. Also is there a way to make sure my application and its threads are not woken up by DarkWake (like an opt-out)? I would like to make it so that my application only runs when we are properly sleeping and waking.
5
0
1.3k
Mar ’25
Button's image not Visible in mac-catalyst project
Currently I came across an issue in mac catalyst project. All the buttons in my project are not visible, they are in their actual positions and also clickable and performing their tasks as assigned but they are not visible. When Iam doing: crossButton.setImage(UIImage(named: "CrossComMac"), for: .normal) Button does not contain image While in the below code, image is visible but Iam not able to resize it. crossButton.imageView?.image = UIImage(named: "CrossComMac") Also title of the button is not visible too. Anything related to button in my mac catalyst project is not visible. Main issue: Button's image is visible in Xcode running project Button's image is not visible in build project...(funny thing right)
1
0
429
Feb ’25
Pages continues to crash
Process: Pages [24164] Path: /Applications/Pages.app/Contents/MacOS/Pages Identifier: com.apple.iWork.Pages Version: 14.3 (7042.0.76) Build Info: Pages-7042000076000000~4 (1A80s) App Item ID: 409201541 App External ID: 869633787 Code Type: ARM-64 (Native) Parent Process: launchd [1] User ID: 501 Date/Time: 2025-02-03 10:33:48.0108 -0500 OS Version: macOS 15.0 (24A5264n) Report Version: 12 Anonymous UUID: CADF4BC4-9940-34D7-7009-116B6231DC3E Sleep/Wake UUID: 74C42190-FF06-46AE-B3A5-A3EBD47E7F1F Time Awake Since Boot: 350000 seconds Time Since Wake: 720 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 Exception Codes: 0x0000000000000001, 0x0000000000000000 Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [24164] VM Region Info: 0 is not in any region. Bytes before following region: 4336156672 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> __TEXT 102748000-1039a0000 [ 18.3M] r-x/r-x SM=COW /Applications/Pages.app/Contents/MacOS/Pages Model: Mac14,2, BootROM 11881.0.80.0.2, proc 8:4:4 processors, 8 GB, SMC Graphics: Apple M2, Apple M2, Built-In Display: Color LCD, 2560 x 1664 Retina, Main, MirrorOff, Online Memory Module: LPDDR5, Hynix AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4387), wl0: Apr 22 2024 07:25:15 version 20.10.1110.0.8.7.176 FWID 01-f2e48c5b IO80211_driverkit-1302.55 "IO80211_driverkit-1302.55" May 30 2024 20:56:50 AirPort: Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports Network Service: Wi-Fi, AirPort, en0 USB Device: USB31Bus USB Device: USB31Bus Thunderbolt Bus: MacBook Air, Apple Inc. Thunderbolt Bus: MacBook Air, Apple Inc.
1
0
249
Feb ’25
"Create Your Apple Account" Not Working
I just got a new 2024 Macbook Pro today. I finished setting it up, and I'm trying to reinstall a few apps. It told me that since I haven't used my Apple ID yet, I need to complete my Apple account. I've entered all my address information, but every time I hit continue, the boxes turn red, telling me I need to enter my information as if I never entered it in the first place. How can I fix this? I need to set this computer up before classes tomorrow.
1
0
272
Jan ’25