Mac OS builds and steamworks plugin not working after signing

We have a game on steam which was last updated on Steamworks in January (we used a CoronaSDK build from December 2019) for this and while we did not notarise that version, all things worked flawlessly-- the app would download correctly from Steam and connect to the Steam client to allow us to use profile features through the steamworks plugin.

Note that this build was not notarised but it was signed.

Now, I have been trying to get a new build uploaded (tried various versions of Corona-- mainly 3583, 3590 and some older ones too) and after I create the .app and sign it, the steamworks features don’t work and the app is unable to see the steam client.

This does not happen in the simulator-- everything works fine there and the steam client is connected and I can login without issues.

Further, after I download this new build from Steam and try running it, it won’t run at all. I have successfully notarised my builds too. I also don’t think this has to do with notarisation because if I set our older build from January as our live build, it downloads and works fine despite no notarisation and my mac running Catalina.

We only use the mixpanel plugin and Coronalabs’ steamworks plugin besides which there’s not much in out build file.

We have previously got enough builds up and running on steam and didn’t expect running into these issues and are kind of in a tough spot now because we need to update the app before the 25th. Any help will be appreciated!

Could you please weigh in on this? We have tried again with the latest Solar 2d builds and the mac os steamworks plugin doesn’t work after the build is signed. We’ve tried signing through the simulator and terminal but as soon as it’s signed, it stops detecting the steam client.

When unsigned, it works fine in the simulator as well as after building.

Thanks in advance.

Try notarizing your app…

I did. We had actually stopped signing our Steam builds altogether but only started again for Catalina’s notarisation requirement.

I have a valid developer ID application certificate and signed the app and notarised it successfully. Have tried this a couple of times and it’s the same problem-- an unsigned build detects the Steam client running in the background while a signed/notarised build doesn’t.

With Mac, most users tend to upgrade sooner or later to the newer versions of the OS and therefore completely avoiding notarisation does not seem like a good option at all. Would really appreciate your help.

@vlads sorry I’m tagging you again… we’ve tried everything by now so it would be generally helpful for everyone if you might look into this:

  • The steamworks plugin does not work with signed builds (either through simulator or terminal).
  • Notarisation is working after the build is signed but like I said, the plugin doesn’t work and it doesn’t detect the steam client so the whole process becomes useless.
  • Only way we are able to, therefore, upload fully working builds to Steam is without signing and without notarising.
  • Signed builds used to work and the client is detected successfully if I use an old Corona build (3561) but notarisation fails using those builds so we’re stuck.

It does seem there’s some issue in the newer builds (including the Corona daily builds from 2020). It’d be quite helpful if you could look into this as support for Catalina and future versions is something that is an inevitability for the future of Solar2D on Mac. Thanks

This feels like entitlements issue.
To display entitlements, drag&drop your app onto Terminal app (or cd into it), then run

codesign --display --entitlements :- .

I believe for macOS to successfully work with steam plugin it should have quite a bit of entitlements. I think you can add them using build.settings, and the app must be signed & notarized.

osx = {
    entitlements = {
        [""] =  true,
        [""] =  true,
        [""] =  true,
        [""] =  true,
        [""] =  true,
        [""] =  true,
1 Like

@vlads Appreciate the insight, Vlad. It did turn out to be an entitlements issue and just selecting all those entitlements in SD Notary before notarising did the trick. Very grateful for your help!