Help of a Mac user (Sierra) needed

Community Forums/Technical Discourse/Help of a Mac user (Sierra) needed

Derron(Posted April) [#1]
Hi,

I got some feedback for my game TVTower today. The user downloaded the game and was not able to run the "TVTower binary" (which is a folder...).

- he unzipped the download
- opened it with ctrl-click (to create the security bypass for non-official developers)
- tried to execute and nothing happened

He then opened it as "package", clicked through the directories until the real binary was there - and executed this in a terminal. This then executed fine.


I do only own a Mountain Lion capable device to compile my game. So I cannot replay that here.
Are there any mac users who like to help me with this issue? What should these users do to be able to just "play" without much more hassle.

The whole thing should be kept portable, so no installer and just downloadable compressed archives for Linux, Mac and Windows in one file.


To try it out, download the latest stable release v0.4.0
https://github.com/TVTower/TVTower/releases/download/v0.4.0/TVTower_v0.4.0_20170225.zip

There are older ones available too (just in case there are differences ... which I doubt) but the user wrote, that with former Mac OS variants he had no trouble starting my game - so either newer game versions or newer OS releases changed something.
I think I did not change something with my build machine, no OS updates, just some restarts). OK, did recompile updated bmx-modules but as the game runs in the "terminal way" I doubt that it has to do with that.


Thanks in advance.

bye
Ron


Derron(Posted April) [#2]
The user added, that prior versions run fine with El Capitan (10.11) - once you did that ctrl-thing (unknown developer security thingy).
These binaries also worked fine with sierra then.

But downloaded again ... and these new ones stopped working.


So it sounds as if Sierra is blocking the game somehow.


bye
Ron


okee(Posted April) [#3]
I don't know if it'll help but
You can restore the "Allow apps downloaded from anywhere"
by entering the following command in terminal

sudo spctl --master-disable

Then to System Preferences > Security and Privacy > general
and select "Allow apps downloaded from anywhere" it should allow them to install
Had a similar issue a while back and this helped, can't remember exactly
what software it was.


Derron(Posted April) [#4]
Before advising such a nuclear strike I will wait a bit for more advises....with fine grained steps for individual apps ;-)

Thanks anyway!


Bye
Ron


Pete Rigz(Posted April) [#5]
I had exactly the same thing with TimelineFX, it's some kind of security thing with the com.apple.quarantine attribute that gets added to the file.

I get it working 2 ways: 1: By Show package contents on the app file, and opening from within there which is a bit ugly. 2: use xattr to remove the attribute:

xattr -d com.apple.quarantine TVTower.app


In the end I fixed TimelineFX by distributing as a .pkg file instead which is what Mark did to fix the same issue for Blitzmax as far as I know, that seems to fix the issue.


Derron(Posted April) [#6]
Ohh that sound... fine grained ... enough.

@ pkg
Isn't that non-portable (run from usb-stick without installation) ?


@ xattr
Does this apply to shell scripts too? Thinking about a "MAC users start me first.sh" which executes your file.

I will suggest it. Thanks a lot



Bye
Ron


AdamStrange(Posted April) [#7]
a thought for you.
Apple is removing all 32bit support from MacOS. So unless compiled as a 64bit app, then you may run into trouble?


Derron(Posted April) [#8]
My game is compatible to NG but for now I am just compiling a Linux 64 bit binary (some distros have trouble with the elsewise required 32bit libraries).

Did not check if NG works on my old mountain lion machine.


Bye
Ron


Pete Rigz(Posted April) [#9]
Running a shell script would probably work ok, you can save the file with a .command extension to make it execute in a terminal, otherwise a .sh will try and open in an editor. Obviously you have to make sure it has executable permissions.

You also need to make sure that the folder path is correct so it would look something like this:

xattr -d com.apple.quarantine `dirname $0`/TVTower.app


There's probably a better way of doing that but it's a start.


Derron(Posted April) [#10]
Yeah that user mentioned that path thingy too...and that it indeed worked to get the app run.

Thanks again for that .command naming hint. I think .zip transports execution bits but I do not know how compatible things are when compressed via linux (folder containing all binaries and then compressed from within linux).


Bye
Ron