• 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 Exporting Mac build NOT for Appstore

B

Beechbone

Guest
I submitted a bug but didn't see an option to directly add attachments. Don't see it yet on the list so it probably has to approved. Hope to be able to attach crash report after the bug turns up in Mantis.
 
B

Beechbone

Guest
Hey, I've been reading some Apple guides, with most interesting being this one. If I understand it correctly (in addition to what's in GameMaker guides) the Developer ID Application is required for code-signing apps distributed outside Mac App Store. Seems like it was introduced in El Capitan, but not sure. It seems you can't create it as a team "member", and you have to be "agent" to have access to certificates on your Apple developer account page, and for the option to be active in Xcode. Getting "agent" status requires paid Apple subscription, unfortunately.

All in all I can create "Mac Development" certificate in Keychain, but not the "Developer ID Application" certificate, which you have to input into GameMaker's global game settings before creating application.

Feel free to disagree, if you think I'm mistaken.
 
D

Diogo

Guest
All in all I can create "Mac Development" certificate in Keychain, but not the "Developer ID Application" certificate, which you have to input into GameMaker's global game settings before creating application.

Feel free to disagree, if you think I'm mistaken.
It says "If your app isn’t signed with a Developer ID certificate issued by Apple, it won’t launch on a Mac that has Gatekeeper enabled.". So I guess it isn't *strictly necessary*? Other people mentioned GateKeeper giving them a warning, but also the option to run the game, so I don't think it should be the problem. Unless they've changed something about GateKeeper and it simply doesn't open nor does it give the warning now.
 
B

Beechbone

Guest
It says "If your app isn’t signed with a Developer ID certificate issued by Apple, it won’t launch on a Mac that has Gatekeeper enabled.". So I guess it isn't *strictly necessary*? Other people mentioned GateKeeper giving them a warning, but also the option to run the game, so I don't think it should be the problem. Unless they've changed something about GateKeeper and it simply doesn't open nor does it give the warning now.
For me, the Gatekeeper never displays a warning, the game just crashes immediately. As it turns out it is possible on macOS Sierra to reintroduce (via Terminal) the Gatekeeper option to allow it to run apps from any source, but my projects are still crashing, so the Gatekeeper thing is likely a different issue. And besides that, it would be good for people who will download the game to just be able to run it without messing in the system.

As a side note, current bug reporting way for GameMaker is less than ideal. Seems like you no longer can file a bug directly to Mantis, which would give it some exposure and ability to actually edit it. That sucks, but probably understandable due to amount of new users.
 
B

Beechbone

Guest
Hey, a little update on the Mac issue. I was finally able to create a running application. There was an update to Xcode in the meantime, so perhaps that fixed it but not sure. I also downgraded GM:S to version 1.4.1757, as the newer ones were causing some problems with one of my projects. I didn't check the macOS export with latest GM:S release so maybe an older version was also a factor (instead of Xcode version), but all in all it's working for me now.
 

Ricardo

Member
I was able to run my game in Sierra with GMS 1.99.525 (EA) using a small hack. "As is", my application immediately crashed (EXC_CRASH (Code Signature Invalid)).
However, it runs well if I delete one of the folders od the pack:
Right click on the uncompressed app > Show Package Contents > Contents
Then, just move to trash the folder "_CodeSignature".

In Global Game settings > Mac OS X, "Signing Identity" is empty (as requested by the instructions of the label "Leave this field blank to stop codesigning").

So, I think there's a bug in GMS, as it create the folder "_CodeSignature" inside the application (using a invalid signature) even when the field "Signing Identity" is empty.

Edit: I just reported it, let's see what the devs say.
 
Last edited:

rIKmAN

Member
I was able to run my game in Sierra with GMS 1.99.525 (EA) using a small hack. "As is", my application immediately crashed (EXC_CRASH (Code Signature Invalid)).
However, it runs well if I delete one of the folders od the pack:
Right click on the uncompressed app > Show Package Contents > Contents
Then, just move to trash the folder "_CodeSignature".

In Global Game settings > Mac OS X, "Signing Identity" is empty (as requested by the instructions of the label "Leave this field blank to stop codesigning").

So, I think there's a bug in GMS, as it create the folder "_CodeSignature" inside the application (using a invalid signature) even when the field "Signing Identity" is empty.
You should report this as a bug.
 

Zixtix

Member
Having the same problem as Ricardo and can confirm that deleting the folder "_CodeSignature" will allow the game to run
 

SnoutUp

Member
Bless you for this simple solution to this awful mess.

I was able to run my game in Sierra with GMS 1.99.525 (EA) using a small hack. "As is", my application immediately crashed (EXC_CRASH (Code Signature Invalid)).
However, it runs well if I delete one of the folders od the pack:
Right click on the uncompressed app > Show Package Contents > Contents
Then, just move to trash the folder "_CodeSignature".

In Global Game settings > Mac OS X, "Signing Identity" is empty (as requested by the instructions of the label "Leave this field blank to stop codesigning").

So, I think there's a bug in GMS, as it create the folder "_CodeSignature" inside the application (using a invalid signature) even when the field "Signing Identity" is empty.

Edit: I just reported it, let's see what the devs say.
 
I've never been able to get a working GMS game outside the Mac App Store working, and I've used GMS since 1.2. I'm now using 2.0 and it still to this day says "Quit Unexpectedly". I'm using the Developer Application ID to sign it. Export it in Xcode even signing it for outside Mac, and when testing it on a non-dev mac machine "Quit Unexpectedly". All my Unity games work fine, but it's been over 2 years now of not being able to have outside the Mac App Store working.
 
O

Omlette

Guest
Is this solution still relevant?
Sorry for bumping an old thread, but the latest fix that was mentioned here doesn't work for me and I'm unsure why.
The only difference I'm noticing is that I'm running GM:S v. 1.4.1673 and Ricardo who posted the fix earlier was running GM:S 1.99.525 (EA).

I get an "OK Conection" when connecting to my Mac, and I can run a test run properly -- but the moment that I compile my game and run it, I get this error:

Code:
Exception Type:        EXC_CRASH (Code Signature Invalid)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x1
I made sure that the "signing identity" box is empty under the global game settings for mac osx and I made sure to get rid of the "_CodeSignature" directory from inside the .app

I'm stumped. Help!
 
Last edited by a moderator:
O

Omlette

Guest
Last edited by a moderator:
O

Omlette

Guest
No one posted this here but I found a fix. The solution that the person posted earlier does indeed work but you need to have a version of GM:S that is 1.99.525 or higher.

Hope this helps!
 

obscene

Member
It's no wonder nobody makes software or games for fricking Macs, this crap has been awful to deal with. Keychains. Certificates. Authorities. Provisioning. At this point I'd rather send people their money back who wanted a Mac version I've wasted too much time wading through all this nonsense trying to do something that's literally one damn double-click on a PC.
 
Last edited:
Top