Under macOS 26 and iPadOS, the Help menu in many cases has a menu item for "App Help". This item has the following icon:
I need to use this in my own app. I am unable to find this icon in SF Symbols 7 beta. I've scanned all of the icons under "What's New". I've searched for "help", "light", and "bulb" and this icon does not appear.
Does anyone know if it's even a new SF Symbol? Or does anyone know of a way to use this icon?
Posts under macOS tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Im new in the Mac area but for sure not UE. Windows is a long process to packaging but it could be done. All the documentation for Epic and from the internet is basically non existent with exactly how to package a project within UE. I have Xcode installed which makes sense, agreed to terms and install for MacOS, I've been able to make a project for several weeks now and want to package for a test run for my friends to play on Windows. Now I just get this in the log:
UATHelper: Packaging (Mac): ERROR: Failed to finalize the .app with Xcode. Check the log for more information
UATHelper: Packaging (Mac): Trace written to file /Users/rileysleger/Library/Logs/Unreal Engine/LocalBuildLogs/UBA-ProjectNightTerror-Mac-Development.uba with size 12.6kb
UATHelper: Packaging (Mac): Total time in Unreal Build Accelerator local executor: 8.12 seconds
UATHelper: Packaging (Mac): Result: Failed (OtherCompilationError)
UATHelper: Packaging (Mac): Total execution time: 9.71 seconds
PackagingResults: Error: Failed to finalize the .app with Xcode. Check the log for more information
UATHelper: Packaging (Mac): Took 9.77s to run dotnet, ExitCode=6
UATHelper: Packaging (Mac): UnrealBuildTool failed. See log for more details. (/Users/rileysleger/Library/Logs/Unreal Engine/LocalBuildLogs/UBA-ProjectNightTerror-Mac-Development.txt)
UATHelper: Packaging (Mac): AutomationTool executed for 0h 0m 10s
UATHelper: Packaging (Mac): AutomationTool exiting with ExitCode=6 (6)
UATHelper: Packaging (Mac): RunUAT ERROR: AutomationTool was unable to run successfully. Exited with code: 6
PackagingResults: Error: AutomationTool was unable to run successfully. Exited with code: 6
PackagingResults: Error: Unknown Error
This absolutely makes no sense to me. Anyone have ideas?
In macOS 26 beta 2 it is possible to set an edge effect style via UIKit using the .scrollEdgeEffectStyle property. (note: I haven't tested this, I'm just looking at the documentation).
See: https://developer.apple.com/documentation/swiftui/view/scrolledgeeffectstyle(_:for:)
Is there an equivalent API for AppKit-based apps? I can't seem to find any additions in NSView or NSScrollView or elsewhere that seem relevant.
Scroll edge effects are mentioned in the "Build an AppKit app with the new design" talk here, which heavily implies it must be possible from AppKit:
https://developer.apple.com/videos/play/wwdc2025/310/?time=567
[Q] How many instances of the same NEFilterDataProvider subclass can there be in a single running Network Extension at any given time?
I would expect that there can be only 1 instance but I'm looking at a memgraph where 2 instances are listed.
As it's the Network Extension framework that is responsible for creating, starting and stopping these instances, this is rather strange.
Since updating my MacBook Air to macOS Tahoe 26.0 Developer Beta 2, I’ve encountered a persistent cursor misalignment issue:
When interacting with lists or contextual menus, the cursor’s visual position does not align with what it actually selects.
The system registers the cursor slightly above where it appears, causing clicks to select the wrong option or fail to register.
As a temporary workaround, I can sometimes position the cursor off-target and press Enter to select, but this is a frustrating and inefficient workaround.
The issue persists after a restart and appears across multiple areas of the OS:
Right-clicking an app in the Dock to open the contextual menu → cursor highlights an incorrect item relative to its position.
In System Settings menus.
Even on the Feedback Assistant site when selecting issue categories.
Steps to Reproduce:
1️⃣ Update to macOS Tahoe 26.0 Developer Beta 2 on MacBook Air.
2️⃣ Right-click on any open application in the Dock.
3️⃣ Attempt to select an option from the list that appears.
4️⃣ Observe that the cursor highlights or interacts with a different option than where the cursor is visibly located.
Notes:
Issue is consistent across reboots.
Affects workflow and general navigation.
Temporary workaround using keyboard navigation is insufficient for productivity.
FB Number: FB18531124
If others are seeing this as well, please confirm below so Apple can prioritize investigation.
Hello! I'm facing a strange behavior on macOS related to Ask Each Time, which works fine on iOS. I've an App Intent that declares a parameter like so:
@Parameter(
title: "Tags",
description: "Tags to add to the link.",
optionsProvider: TagsOptionsProvider()
)
var tags: [String]?
The TagsOptionProvider is like this:
struct TagsOptionsProvider: DynamicOptionsProvider {
@Dependency
private var modelCoordinator: ModelCoordinator
@MainActor
func results() async throws -> [String] {
return modelCoordinator.tags().compactMap { $0.name }
}
}
Now, the issue comes if I create a shortcut where for the tags parameter the user selects the magic variable Ask Each Time. On iOS, when the user is presented with the selector, they can simply tap 'Done' without selecting any value (the user does not want to include any tag). The problem is that on macOS the 'Done' button is disabled if there's no selection. See both behaviors:
iOS:
macOS:
Question:
Is there a way to let macOS continue even if the user doesn't select any of the available options like on iOS? I've tried declaring the tags para meter as Optional (like on the screenshot) and non-optional, both cases show the same behavior.
Environment:
iOS 18.5
macOS 15.5
as a beta tester I am trying to explore the OS on multiple platforms like iO, iPadOS, MacOS, WatchOS. While on trying to use beta 1 have few issues and reported to Apple with analytics as I do for better improvements. But, in beta 2 there is an issue of glitches on UI. This also tried to report. But, while am trying record screen I can not see in that video after the screen record. But, in reality I can see that glitch with eyes. as everyone know without evidence we can not report the same with tickets properly and they also can not resolve the issues. It’s affecting on all types of OS platforms of Apple buttons and search positions etc.
one more thing I absorbed is while am trying use overlay player and browse the safari or any apple developer apps which are full screen the devices are freezing and not responding and after hard restart those are starting after 10mins. As per my knowledge. Those are going through the memory overflow issue.
Since a recent macOS update (around one month ago), I’ve been experiencing a random issue on my MacBook Air (2023, M2). After the device enters sleep mode and I try to wake it, sometimes the screen stays black with only the cursor visible. The issue occurs randomly — not every time — but frequently enough to impact daily use. The system becomes completely unresponsive, and the only recovery method is a forced restart (holding the power button).
Steps to Reproduce:
1. Leave the MacBook idle until it enters sleep automatically.
2. Wait for 10–30+ minutes.
3. Attempt to wake it using the keyboard, trackpad, or by opening the lid.
4. Randomly, the system fails to wake properly: screen turns on, shows a black background with a movable cursor, but nothing else appears.
Expected Result:
The system wakes normally and restores to the previous desktop session.
Actual Result:
The system randomly freezes on a black screen with a visible cursor. No user interface or login prompt appears. Requires a hard restart.
System Information:
• Device: MacBook Air 13”, M2, 2023
• macOS Version: [Insert exact version, e.g., macOS Sonoma 14.5]
• Issue Since: Around one month ago (possibly after latest macOS update)
• Peripherals: [Mention any external devices if applicable]
• Reproducibility: Random (approximately 30–50% of the time after longer sleep)
Additional Notes:
• Issue is not consistent; sometimes the system wakes as expected.
• Occurs regardless of whether on battery or plugged in.
• No external monitors or USB accessories are connected when this happens.
On iOS, there is accessibilityLanguage.
While it is possible to scroll content using VoiceOver on macOS, I was not able to find any NSAccessibility APIs related to it (such as accessibilityScroll: on iOS).
Say I have a UI element that moves on the screen. Is it possible to update its accessibility frame as it moves while VoiceOver is focused on it? From my tests, VoiceOver ignores UIAccessibilityLayoutChangedNotification if it's sent repeatedly in a short period of time on iOS, while sending NSAccessibilityLayoutChangedNotification on macOS triggers VoiceOver to reannounce the focused element repeatedly.
As soon as I launch, Mail and Safari crash. I hope this is temporary. Tahoe 26.0 Beta
We are unable to programmatically enable AppleScript automation for VoiceOver on macOS 15 (Sequoia)
In macOS 15, Apple moved the VoiceOver configuration from:
~/Library/Preferences/com.apple.VoiceOver4/default.plist
to a sandboxed path:
~/Library/Group Containers/group.com.apple.VoiceOver/Library/Preferences/com.apple.VoiceOver4/default.plist
Steps to Reproduce:
Use a macOS 15 (ARM64) machine (or GitHub Actions runner image with macOS 15 ARM).
Open VoiceOver:
open /System/Library/CoreServices/VoiceOver.app
Set the SCREnableAppleScript flag to true in the new sandboxed .plist:
plutil -replace SCREnableAppleScript -bool true ~/Library/Group\ Containers/group.com.apple.VoiceOver/Library/Preferences/com.apple.VoiceOver4/default.plist
Confirm csrutil status is either disabled or not enforced.
Attempt to control VoiceOver via AppleScript (e.g., using osascript voiceOverPerform.applescript).
Observe that the AppleScript command fails with no useful output (exit code 1), and VoiceOver does not respond to automation.
Topic:
Accessibility & Inclusion
SubTopic:
General
Tags:
macOS
Accessibility
App Sandbox
AppleScript
I've got the initial WWDC beta of macOS 26 (25A5279m) installed inside a virtual machine (UTM), but can't seem to update to the second beta. Nothing is showing up within Software Update.
Is this because it's within a VM, or am I doing something wrong?
It'd be a real pain to have to install a new VM afresh with the RestoreImage for every update.
Upgraded my M1 Mac mini from MacOS Tahoe 26 Beta to Beta 2. Prior to the update I had no problem connecting to the Max mini from my MacBook Pro M2 running Now, attempting to connect to the Mac mini from a MacBook Pro M2 running Sequoia 15.5. After the update, I can enter my password, but then I am disconnected with the error "This Mac was unable to start a High Performance connection to the Mac mini" and to "change the screen sharing type to standard and try again"
Connecting via a "Standard" connection showed that the Window Server failed.
body: error when I run the app,and the frame just became freezed.
I'm trying to get information about my status items window. I get the window number using this call: statusItem.button?.window?.windowNumber With that number I try to determine if it visible or not.
On macOS 15, this works fine, however on macOS Tahoe the window number is bigger than UInt32 or its type alias CGWindowID, causing a crash of my app (when converting from Int to UInt32). Somehow the window numbers were always in the 32-bit space.
I can only guess about the reasons for increase of the window number beyond the UInt32 bounds. I don't know how the windows are numbered, but something may not be going as expected here.
Anyone knows if this may be due to running in a virtual machine?
We have a transparent proxy in a system extension. We intercept all traffic from machine using 0.0.0.0 and :: as include rules for protocol ANY. We intercept all DNS queries and forward them to a public or private DNS server based on whether its a private domain or not.
In most cases, everything works fine.
However, sometimes, git command (over SSH) in terminal fail to resolve DNS and receives below error:
ssh: Could not resolve hostname gitserver.corp.company.com: nodename nor servname provided, or not known
While investigating, we found that mDNSResponder was using HTTPS to dns.google to resolve the queries securely.
DNS Request logs
While this works for public domains (not how we would want by anyways), the query fails for our company private domains because Transparent Proxy cannot read the DNS query to be able to tunnel or respond to it.
Several years back when secure DNS was introduced to Apple platforms, I remember in one of the WWDC sessions, it was mentioned that VPN providers will still get plain text queries even when system has secure DNS configured or available.
In this case, there is no DNS proxy or any other setting to enable secure DNS on the machine except for Google public DNS configured as DNS server. So my question is:
Shouldn't transparent proxy also get plain text DNS queries like PacketTunnelProvider?
And
is there a way to disable/block the secure DNS feature in mDNSResponder or on machine itself? Using Transparent proxy or MDM or any other config? So that transparent proxy can handle/resolve public and private domains correctly.
Another thing we noticed that not all queries are going over secure channel. We still get quite a few queries over plain UDP. So is there any rule/criteria when mDNSResponder uses secure DNS and when plain text DNS over UDP?
Good day, ladies and gents.
I have an application that reads audio from the microphone. I'd like it to also be able to read from the Mac's audio output stream. (A bonus would be if it could detect when the Mac is playing music.)
I'd eventually be able to figure it out reading docs, but if someone can give a hint, I'd be very grateful, and would owe you the libation of your choice.
Here's the code used to set up the AudioUnit:
-(NSString*) configureAU
{
AudioComponent component = NULL;
AudioComponentDescription description;
OSStatus err = noErr;
UInt32 param;
AURenderCallbackStruct callback;
if( audioUnit ) { AudioComponentInstanceDispose( audioUnit ); audioUnit = NULL; } // was CloseComponent
// Open the AudioOutputUnit
description.componentType = kAudioUnitType_Output;
description.componentSubType = kAudioUnitSubType_HALOutput;
description.componentManufacturer = kAudioUnitManufacturer_Apple;
description.componentFlags = 0;
description.componentFlagsMask = 0;
if( component = AudioComponentFindNext( NULL, &description ) )
{
err = AudioComponentInstanceNew( component, &audioUnit );
if( err != noErr ) { audioUnit = NULL; return [ NSString stringWithFormat: @"Couldn't open AudioUnit component (ID=%d)", err] ; }
}
// Configure the AudioOutputUnit:
// You must enable the Audio Unit (AUHAL) for input and output for the same device.
// When using AudioUnitSetProperty the 4th parameter in the method refers to an AudioUnitElement.
// When using an AudioOutputUnit for input the element will be '1' and the output element will be '0'.
param = 1; // Enable input on the AUHAL
err = AudioUnitSetProperty( audioUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, ¶m, sizeof(UInt32) ); chkerr("Couldn't set first EnableIO prop (enable inpjt) (ID=%d)");
param = 0; // Disable output on the AUHAL
err = AudioUnitSetProperty( audioUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Output, 0, ¶m, sizeof(UInt32) ); chkerr("Couldn't set second EnableIO property on the audio unit (disable ootpjt) (ID=%d)");
param = sizeof(AudioDeviceID); // Select the default input device
AudioObjectPropertyAddress OutputAddr = { kAudioHardwarePropertyDefaultInputDevice, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
err = AudioObjectGetPropertyData( kAudioObjectSystemObject, &OutputAddr, 0, NULL, ¶m, &inputDeviceID );
chkerr("Couldn't get default input device (ID=%d)");
// Set the current device to the default input unit
err = AudioUnitSetProperty( audioUnit, kAudioOutputUnitProperty_CurrentDevice, kAudioUnitScope_Global, 0, &inputDeviceID, sizeof(AudioDeviceID) );
chkerr("Failed to hook up input device to our AudioUnit (ID=%d)");
callback.inputProc = AudioInputProc; // Setup render callback, to be called when the AUHAL has input data
callback.inputProcRefCon = self;
err = AudioUnitSetProperty( audioUnit, kAudioOutputUnitProperty_SetInputCallback, kAudioUnitScope_Global, 0, &callback, sizeof(AURenderCallbackStruct) );
chkerr("Could not install render callback on our AudioUnit (ID=%d)");
param = sizeof(AudioStreamBasicDescription); // get hardware device format
err = AudioUnitGetProperty( audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 1, &deviceFormat, ¶m );
chkerr("Could not install render callback on our AudioUnit (ID=%d)");
audioChannels = MAX( deviceFormat.mChannelsPerFrame, 2 ); // Twiddle the format to our liking
actualOutputFormat.mChannelsPerFrame = audioChannels;
actualOutputFormat.mSampleRate = deviceFormat.mSampleRate;
actualOutputFormat.mFormatID = kAudioFormatLinearPCM;
actualOutputFormat.mFormatFlags = kAudioFormatFlagIsFloat | kAudioFormatFlagIsPacked | kAudioFormatFlagIsNonInterleaved;
if( actualOutputFormat.mFormatID == kAudioFormatLinearPCM && audioChannels == 1 )
actualOutputFormat.mFormatFlags &= ~kLinearPCMFormatFlagIsNonInterleaved;
#if __BIG_ENDIAN__
actualOutputFormat.mFormatFlags |= kAudioFormatFlagIsBigEndian;
#endif
actualOutputFormat.mBitsPerChannel = sizeof(Float32) * 8;
actualOutputFormat.mBytesPerFrame = actualOutputFormat.mBitsPerChannel / 8;
actualOutputFormat.mFramesPerPacket = 1;
actualOutputFormat.mBytesPerPacket = actualOutputFormat.mBytesPerFrame;
// Set the AudioOutputUnit output data format
err = AudioUnitSetProperty( audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &actualOutputFormat, sizeof(AudioStreamBasicDescription));
chkerr("Could not change the stream format of the output device (ID=%d)");
param = sizeof(UInt32); // Get the number of frames in the IO buffer(s)
err = AudioUnitGetProperty( audioUnit, kAudioDevicePropertyBufferFrameSize, kAudioUnitScope_Global, 0, &audioSamples, ¶m );
chkerr("Could not determine audio sample size (ID=%d)");
err = AudioUnitInitialize( audioUnit ); // Initialize the AU
chkerr("Could not initialize the AudioUnit (ID=%d)");
// Allocate our audio buffers
audioBuffer = [self allocateAudioBufferListWithNumChannels: actualOutputFormat.mChannelsPerFrame size: audioSamples * actualOutputFormat.mBytesPerFrame];
if( audioBuffer == NULL ) { [ self cleanUp ]; return [NSString stringWithFormat: @"Could not allocate buffers for recording (ID=%d)", err]; }
return nil;
}
(...again, it would be nice to know if audio output is active and thereby choose the clean output stream over the noisy mic, but that would be a different chunk of code, and my main question may just be a quick edit to this chunk.)
Thanks for your attention! ==Dave
[p.s. if i get more than one useful answer, can i "Accept" more than one, to spread the credit around?]
{pps: of course, the code lines up prettier in a monospaced font!}
According the video "Build an AppKit app with the new design" (https://developer.apple.com/videos/play/wwdc2025/310/), it is now possible to add a badge on a NSToolbarItem object.
However, in don't see a badge in the NSToolbar API. The code example in the video includes for example "NSItemBadge.count(4)", but the only Google result for this is the video mentioned above.
Is this still work in progress or I'm overlooking something?