Hello, I have this simulator made in Unity that I want to distribute as Standalone. It consists of launcher which, when users download it, downloads the game.
I've built the launcher, got Developer ID Application certificate, added entitlements from: https://docs.unity3d.com/Manual/macoscodesigning.html#signing-identity I've signed the .app of the launcher and 2 dlls chatgpt recommended to sign, zipped it, notarized .zip successfully, stapled to .app and put it on Google Drive to test. I got my other MacBook Pro, downloaded the zip, tried to open it.
It did open, but there is a black loading screen saying "0% progress, 0B/0B" indicating that it isn't downloading anything - no network calling. When checked using command
xattr -l path/to/file.app
I get the following output:
com.apple.macl: @?????I???|???? com.apple.quarantine: 0083;67bf1a22;Safari;69764595-CA94-44D2-B679-A69DC4669382
There are some specifics I think are also important to mention.
- I tried to code-sign it, notarize it and staple it using only Terminal and I'd like to keep it that way because I am very unfamiliar with Mac so I've avoided using Xcode as much as possible
- I really want to avoid putting the simulator up on the App Store, so I must have Standalone solution and Standalone solution only
- I believe that there might be problem with needing right entitlements, but I don't know how to check which one's are needed for users to avoid using "xattr" command in terminal to allow the launcher to run because of GateKeeper
I've been banging my head against the wall with this problem for over a month and I don't see the light at the end of the tunnel.
It’s hard to offer advice here because you’re using third-party tools. However, this symptom is key:
Normally, when you’ve signed something incorrectly you see one of two symptoms:
-
Gatekeeper prevents you from running the app.
-
Gatekeeper allows the app to run but the process is immediately killed by the trusted execution system.
I go into these issues in gory detail in Resolving Trusted Execution Problems.
In your case, however, the app is running and yet misbehaving. It’s posible that your code is having problems with the hardened runtime required by Developer ID distribution. See Resolving Hardened Runtime Incompatibilities.
If that’s not it, then this is outside the Apple world. Some code within your app is misbehaving, and that’s either your code or code from your third-party tooling. You need to debug the code itself, seeking help from the tooling’s vendor as necessary.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"