• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Mac OSX Can't Publish to macOS (SOLVED)

Nodamex

Member
I had completed an Action RPG (Lufulus' Creatures). This is my biggest project, it is very important for me. I had exported the game for Windows 10 (YYC) but I can't export for macOS for a long time. I tried many things, read all issues and comments on internet… But I just can't figure out what to do. The game is now on Steam but it's only for Windows. I have to make it available for macOS too. So, I need your ideas&experience about this issue. These are the steps I followed:

Step 1: Mac Connection
I connected my Game Maker Studio 2 (Windows 10) to a Mac. The connection was completed successfully.

Step 2: Mac Settings
Game Options -> macOS -> Uncheck "Build for Mac App Store"
The reason is that I want to publish the game only for Steam.
I completed the steps from ref3.

Step 3: Setting Build Configuration of GMS2
I chose the Mac as device, YYC as output and, macOS as platform.

Step 4: Build
On Mac Device -> Open a new project from Xcode (newer version).
On Windows -> Game Maker Studio 2 -> Build -> Create Executable

Then, I waited long time for building. (15-20 minutes, Windows PC's specs are super-high, Mac's super-low)
Lastly, a window is opened on Mac. I think some files were transferred to Mac for building (archiving?).

Step 5: Configurations on Mac (Xcode)
Under Build Settings, set Enable Hardened Runtime to "yes"
Under Signing & Capabilities, check the box for Disable Library Validation
Under Signing & Capabilities, check the box for Allow DYLD Environment Variables
Under Build Phases, Copy Files, make sure Code Sign On Copy is unchecked for libsteam_api.dylib

(ref1)

I want to manage signing manually (because of the first image at ADDITIONAL PROBLEMS section):
Under Signing & Capabilities, uncheck "Automatically manage signing"
Set a provisioning profile (from developer.apple.com).
Set a signing certificate (for this bundle identifier, com.goldar.lufuluscreatures) (Type: Developer ID)
The provisioning profile and the signing certificate are connected with each other. (Confirmed from developer.apple.com)

Step 6: Archiving
On Mac Device -> Product -> Archive

After a long time, there was an error due to archiving. The error "libsteam_api.dylib can't be found on the path...” It looked like this file could not be transferred (why?). I manually copy-pasted it to the related folder. That solved the problem(?), then, archiving is finished.

Step 7: Notarizing the Game
After all, I pressed Distribute App button. I chose "Developer ID Application". Lastly, Xcode created the notarized LufulusCreatures.app.

Step 8: Uploading To Steam
I uploaded LufulusCreatures.app to Steam repository.

ERROR :(
The game is runnable from Steam only for my Mac. It gives an error about signing "libYoyoGamepad.dylib" on other Mac(s).
But, for some builds, even if it is on my mac, the game doesn't open properly and closes immediately without any errors.

Why is the game only runnable from my Mac not from others? Did I skipped a step of did something wrong?
I’ll keep updating this topic, thank you.


ADDITIONAL PROBLEMS
If I let Xcode do management auto, I see this. I think that is not normal, so I used manual management.
Capture.PNG

Which ones are needed to be signed?
Ek Açıklama 2020-06-18 164512.png

This is the default? What I need to do here?
Capture2.jpg

REFERENCES
ref1: https://forum.yoyogames.com/index.php?threads/solved-steam-not-able-to-initialize-on-macos.69524/
ref2: https://help.yoyogames.com/hc/en-us/articles/115001624727-macOS-Compiling-Your-App
ref3: https://help.yoyogames.com/hc/en-us/articles/235186128-Setting-Up-For-macOS
ref4: https://help.yoyogames.com/hc/en-us/articles/360002425218-macOS-Notarizing-Your-Apps

Edit: SOLVED! The issue was selecting a provisioning file on XCode. I set it as None.
Edit: SOLVED! The reason of "libsteam_api.dylib can't be found on the path...” was that new Steam SDK had no "osx32" folder but it had "osx" folder. So I changed "osx" -> "osx32" in order to make GMS2 to find it.
 
Last edited:

chirpy

Member
Thanks for the detailed steps!
I tried yesterday, the only difference I now see in xcode is that Hardened Runtime capability needs to be added under "Signing & Capabilities" under the "+" sign.
 
Top