MacOS Sonoma kills binaries that have ".app" extension

I'm a developer and I was blocked for a while by a strange issue that killed terminal applications that have ".app" extension. That extension name is used by other projects and used to work before Sonoma.


For example https://github.com/fyne-io/fyne/issues/4296


What's the reason for this change? Is it something that will happen from now on? Because that means existing projects that use this pattern will have to adapt to this restrictions and it might not be an easy change in many cases so it would be good that this new behavior is made public. Is it mentioned somewhere?


It would be good to have a description when these apps are killed so any user having this issue can easily figure it out. Right now it's not user friendly at all, it just kills the app without any useful message.

Posted on Jan 9, 2024 3:33 AM

Reply

Similar questions

5 replies

Jan 9, 2024 5:56 AM in response to jeronimo77

We’re not Apple, so this is the wrong audience for any “why?” questions.


You’re seemingly not building app bundles here, so using the app extension would not be my first choice.


Apple silicon requires all apps to be notarized, as well. Either ad-hoc by the linker, or explicitly.


Potentially related: Apps distributed internally to our… | Apple Developer Forums


Code-signing info:

Creating Distribution-Signed Code … | Apple Developer Forums

Packaging Mac Software for Distrib… | Apple Developer Forums

https://forum.latenightsw.com/t/sd-notary-2-release-notes/4373

TN3147: Migrating to the latest notarization tool | Apple Developer Documentation




Jan 9, 2024 8:15 AM in response to jeronimo77

jeronimo77 wrote:

For example, in the case of Go binaries using a different extension or no extension at all works without signature.


If whatever you are building here is not an app bundle, and if this build product does not have the expected app bundle structure, then naming the build product as an app bundle is unsupported, and is precarious at best.


Bundle Structures


If this isn’t an app bundle, then don’t name it as an app bundle.


Jan 9, 2024 8:23 AM in response to jeronimo77

jeronimo77 wrote:

It's just a bit odd that the constraint is triggered just for ".app" extensions.

It isn't.

For example, in the case of Go binaries using a different extension or no extension at all works without signature.

You'll have to ask the people working on the Go compiler what they are doing.


I can build executables using clang on the command line, which automatically adds an ad-hoc signature, and any extension works fine. Therefore, the problem is whatever Go is doing. The Github issue you posted shows it pretty clearly. Your executable is located deep inside /private/var/folders. In theory, there's nothing wrong with that. But you have to question why they are choosing to create this kind of Rube Goldberg toolchain.


This is a "community of practice" issue. There is little to no overlap between Apple and Go. That means that Apple people have no idea about Go and Go people have no idea about Apple. Each might be able to handle the basics, but you should expect failures on edge cases of all kinds.

Jan 9, 2024 5:44 AM in response to jeronimo77

This has nothing to do with ".app" extensions. Your "go" compiler isn't properly signing executables. On Apple Silicon, all executables must be signed, even if it is just an ad-hoc signature. It's quite annoying sometimes. But that's the life of an Apple developer.


There's a global propaganda campaign targeting Apple devices, trying to make people think they are insecure. It's quite effective. But Apple has been cleverly leveraging this to enhance its control over the platform and sell more devices. In short, there's no end in sight. If your "go", "rust", "node", etc. compilers can't keep up, then you'll just have to switch to a different platform. They won't be missed. 😄

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

MacOS Sonoma kills binaries that have ".app" extension

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.