Unsuccessful at distributing standalone version of the simulator

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.

Answered by DTS Engineer in 826918022

It’s hard to offer advice here because you’re using third-party tools. However, this symptom is key:

Written by MatkoCausic in 775310021
It did open, but there is a black loading screen

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"

It’s hard to offer advice here because you’re using third-party tools. However, this symptom is key:

Written by MatkoCausic in 775310021
It did open, but there is a black loading screen

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"

Alright, I have some suspicions that I've signed it alright (even though I still think that no network calling part may be due to entitlements for network calling) and deducted it to be hardened runtime problem.

I've tried for a few hours to open my freshly built Unity launcher in Xcode, but I just don´t know how to successfully do it. I only see tutorials on YouTube for iOS which, after building, come with Xcode file which we can then open. The launcher is for Mac and Mac only. Can you please help me how to open it, tick hardened runtime exceptions so I can check which ones I need and which don´t, sign it and then build it?

If this doesn´t work, I will call technical support because I have a deadline to meet. How smart is it to do such thing for such problem? If I do happen to call them, how much will they be able to assist me and solve my issues? An operator for developer support said that we have 2 calls towards technical support.

If you have an Xcode project, you configure the hardened runtime in the Signing & Capabilities editor. See Configuring the hardened runtime.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Unsuccessful at distributing standalone version of the simulator
 
 
Q