I am getting recurring errors running code on macOS 15.1 on arm that is using a volume mounted from a machine running macOS 14.7.1 on x86. The code I am running copies files to the remote volume and deletes files and directories on the remote volume. The files and directories it deletes are typically files it previously had copied.
The problem is that I get permission failures trying to delete certain directories.
After this happens, if I try to list the directory using Terminal on the 15.1 system, I get a strange error:
ls -lA TestVAppearances.app/Contents/runtime-arm/Contents
total 0
ls: fts_read: Permission denied
If I try to list the directory on the target (14.7.1) system, there is no error:
TestVAppearances.app/Contents/runtime-arm/Contents:
total 0
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have a SpotLight importer for my custom document type. At one point it was working, but apparently it stopped working a while ago. After rebuilding the SpotLight index (-E) in the course of debugging, the few documents that previously worked no longer work.
I have tested the importer using mdimport -t -d3 and the output looks reasonable.
However, if I do a simple search such as mdfind 'kMDItemTextContent == "gasoline or propane"', the text is not found, even though it is present in the importer output. In fact, if I save the importer output to a file, the text is found in that file.
The console log contains many instances of this error from mdworker_shared:
All kCFPreferencesCurrentUser domains in this process will be volatile, because homeDirPath starts with /var/empty
Is there anything I can do to figure out what is going wrong?
I'm running on macOS 11.5.1.
I have a macOS app that captures screen images. The first time I run this application, a dialog is shown directing the user to give my app Screen Recording permission. Is there a way I can trigger this dialog earlier and detect whether the permission was granted?
I have occasionally encountered unexpected problems deleting directory trees (using rm -rf in a shell script). Recently, I encountered a similar problem using a third party application that failed to delete a directory tree using Java APIs. In both situations, the problem turned out to be a failure to remove a directory because it was not empty, and the file it contained was a .DS_Store file. This is odd for two reasons:
The directory was not one I had viewed using Finder, so why was a .DS_Store file created?
The .DS_store file was not protected, so why wasn't it deleted along with the other files in the directory?
The only explanation I can think of is that the .DS_Store file was created by a background thread, which is possible, but what would a background thread be doing that would cause a .DS_Store file to be created?
I'm trying to use tapi to generate a .tbd for a multi-arch dynamic library.
The dynamic library has LC_UUIDs for both architectures, but the generated .tbd does not have a uuids section.
I have tried generating .tbd versions 2, 3, and 4.
(Which version should I use if I want to support older macOS releases?)
I'm using the command tools from Xcode 15.0.1 on macOS 14.1 on arm64.
I am trying to setup remote Java debugging between two machines running macOS (15.6 and 26).
I am able to get the Java program to listen on a socket. However, I can connect to that socket only from the same machine, not from another machine on my local network. I use nc to test the connection. It reports Connection refused when trying to connect from the other machine.
This issue sounds like it could be caused by the Java program lacking Local Network system permission. I am familiar with that issue arising when a program attempts to connect to a port on the local network. In that case, a dialog is displayed and System Settings can be used to grant Local Network permission to the client program. I don't know whether the same permission is required on the program that is receiving client requests. If it is, then I don't know how to grant that permission. There is no dialog, and System Settings does not provide any obvious way to grant permission to a program that I specify.
Note that a Java application is a program run by the java command, not a bundled application. The java command contains a hard-wired Info.plist which, annoyingly, requests permission to use the microphone, but not Local Network access.
I run otool from a script (actually from a program) and find it annoying that otool fails if I need to agree to a new version of the Xcode and SDKs license. Is there a way to test ahead of time whether this will happen, or detect when this problem occurs, so that I can display a dialog to tell me what I need to do?
This happened after upgrading from macOS Tahoe beta 1 to beta 3.
Is there a way that an AppKit application can determine which Liquid Glass option has been selected in System Settings (Clear or Tinted)?
Topic:
UI Frameworks
SubTopic:
AppKit
I'm using IB to create an NSOutlineView.
I configure it:
[_outlineView setStyle:NSTableViewStyleSourceList]
I put it in an NSSplitView.
What I get is an old-style sidebar with a VisualEffect background and no rounded rect border.
Is there any documentation available on the new localized keyboard shortcuts feature? I'm interested to know if an application can discover the current set of shortcuts.
Starting with macOS 12.2 (I believe), I have encountered problems when applications try to open dialogs, especially file dialogs. My hunch is that the problem is some kind of resource leak in the window manager. The system will run fine for a while (a day or two), then suddenly get very slow or applications will hang trying to open a dialog. The most interesting failure occurs when I try to use a Save dialog from Firefox. A file dialog is displayed that is almost completely invisible. The only visible component is the file format menu button. Usually I can dismiss the dialog with ESC, but sometimes that does not work. I have found that quitting an application sometimes fixes the problem temporarily, but generally a restart is needed.
Given the seriousness of the problems, I wonder why I am not hearing about other people having this problem and why the problem has not been fixed. One possibility is that I am using an application that is not widely used and it is triggering the problem be not releasing resources. (I won't name the application now without having more evidence.) As an experiment, I have stopped using that application to see if the problems go away. Even if that is the explanation, I think the window manager should do better at preventing one application from causing problems with other applications.
FB9937157 submitted two months ago
I just installed macOS Tahoe beta on a mac mini. It says I am not connected to the internet, and attempts to use file sharing fail. Network status says that Ethernet and WiFi are working. Any suggestions?
I would like my application to receive an event when the user clicks on an emoji or symbol in the macOS Emoji & Symbols panel and my application window is the key window. I need an event because I am not using an AppKit text component. Is this possible?
For extra credit, is there a way may application can position the panel at a particular location in the window the way TextEdit does?
The documentation is silent on this question. I can imagine several possibilities:
The block is performed regardless of the run loop mode.
The block is performed in the default run loop mode.
The block is performed in any of the common run loop modes.
(I shouldn't have to write a test program to figure this out!)
I admit I am doing something unusual, and I would not be surprised if it didn't work. I am surprised, however, because after performing the equivalent operations on four bundles, all of the bundles work fine on macOS 15.6.1, but only two of them work on macOS 26.1 (beta 2). I don't know what causes the different outcomes.
What I am trying to do is get Java to pass the macOS 26 AppKit UI SDK linkage checking without having to rebuild the JDK using Xcode 26. Rebuilding works for the latest SDK, but it is very inconvenient and may not work for older JDKs. It usually takes a while before the JDK build team successfully transitions to a new Xcode release.
My approach is to use vtool to update the sdk version in the LC_BUILD_VERSION load command of $JAVA_HOME/bin/java, which is the launching executable for the JDK.
I performed this operation on four JDKs: 25, 21, 17, and 11. (I ran vtool on macOS 15.)
It was completely successful on JDK 25 and 21. The JDK launches correctly on macOS 15 and macOS 26. On macOS 26, AppKit uses the new UI, which is the desired outcome. The JDK runs despite that fact that I signed the modified $JAVA_HOME/bin/java with my developer ID, which is inconsistent with the JDK bundle signature. (Redoing the bundle signing is part of the JDK build process; if that were necessary, I would stick with rebuilding the JDK.)
The operation was not successful on JDK 17 and 11. I noticed two problems, which are not obviously related.
When vtool created the new version of the java program, it lost the tool definition.
$ vtool -show-build-version java
java:
Load command 10
cmd LC_BUILD_VERSION
cmdsize 32
platform MACOS
minos 11.0
sdk 11.1
ntools 1
tool LD
version 609.8
$ vtool -set-build-version 1 10.0 26.0 -output a.out java
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/vtool warning: code signature will be invalid for a.out
$ vtool -show-build-version a.out
a.out:
Load command 22
cmd LC_BUILD_VERSION
cmdsize 24
platform MACOS
minos 10.0
sdk 26.0
ntools 0
Adding back the tool definition didn't seem to matter.
When I try to run the revised executable (in the context of the JDK bundle), it works on macOS 15, but on macOS 26, it is rejected as damaged. If I run the revised executable outside the JDK bundle, it runs (but fails because it can't find the rest of the JDK, which is expected).
In all cases, GateKeeper rejects the revised executable because it has not been notarized, but that doesn't seem to stop the program from executing.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
macOS
Linker
Gatekeeper
Signing Certificates