Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Pages: 1 [2] 3

Author Topic: Mac Download  (Read 15073 times)

elZorro

  • Ensign
  • *
  • Posts: 5
    • View Profile
Re: Mac Download
« Reply #15 on: August 06, 2012, 05:26:29 PM »

Yes, I did, and yes, Starfarer is in my Applications folder.
Logged

Mossdog

  • Ensign
  • *
  • Posts: 8
    • View Profile
Re: Mac Download
« Reply #16 on: August 06, 2012, 05:30:58 PM »

Sent you my file Alex.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23946
    • View Profile
Re: Mac Download
« Reply #17 on: August 06, 2012, 05:33:30 PM »

Thank you, guys - I really appreciate it!
Logged

Mossdog

  • Ensign
  • *
  • Posts: 8
    • View Profile
Re: Mac Download
« Reply #18 on: August 06, 2012, 05:43:01 PM »

Any way to turn off all the debugging so that I can't infinite zoom out, and see whenever an enemy fleet loses a ship?
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23946
    • View Profile
Re: Mac Download
« Reply #19 on: August 06, 2012, 05:47:26 PM »

Use this build:
https://s3.amazonaws.com/fractalsoftworks/starfarer/release/starfarer_mac-0.53a-test-arch.zip

Or edit data/config/settings.json (using TextEdit) and set devMode:"false" up near the top.
Logged

Mossdog

  • Ensign
  • *
  • Posts: 8
    • View Profile
Re: Mac Download
« Reply #20 on: August 06, 2012, 06:36:05 PM »

cool, it worked.  (changing devmode to false.) thanks, I appreciate all the work to get this working for me.
Logged

brian

  • Ensign
  • *
  • Posts: 15
    • View Profile
Re: Mac Download
« Reply #21 on: August 07, 2012, 11:23:20 PM »

More and more people are upgrading to 10.8, and with the default security settings, will only get a "Move to Trash" button with the build that's on the front page. If you've figured out what's wrong, you might wanna put up the fixed binary on the blog's release post.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23946
    • View Profile
Re: Mac Download
« Reply #22 on: August 08, 2012, 08:18:28 AM »

Hi brian,

Thanks for the heads up - I had updated the preorder page, but forgot to update the blog post (updated now).

Question: are you certain the issue is related to the security settings? Rather, are you able to run the original build with App Signing disabled?

I'm asking because the new build (found here) doesn't change anything related to security - it simply runs using a different architecture setting - and yet, seems to work for people that had trouble running the original.

Any more info you could be provide would be really appreciated.
Logged

elZorro

  • Ensign
  • *
  • Posts: 5
    • View Profile
Re: Mac Download
« Reply #23 on: August 09, 2012, 05:08:55 PM »

10.8 doesn't make it obvious how to open applications from "unidentified developers," but all that has to be done is right click on the application, select "open," and hit yes. After that you will be able to open it again without a problem.
Logged

brian

  • Ensign
  • *
  • Posts: 15
    • View Profile
Re: Mac Download
« Reply #24 on: August 12, 2012, 08:39:58 PM »

Question: are you certain the issue is related to the security settings? Rather, are you able to run the original build with App Signing disabled?

There are 4 relevant states you could end up in when trying to launch an app on OS X 10.8.

1. The app launches without any messages.

2. Gatekeeper warns you that an app is unsigned, but allows you to open it anyway. You get a "cancel" and "open" button.

3. Gatekeeper blocks the app because it is unsigned. You get a "cancel" and "move to trash" button. This can by bypassed by right clicking on the executable and clicking Open, which results in state 2.

4. Gatekeeper fubars with a message saying <appname> is damaged and can't be opened, followed by a "cancel" and a "move to trash" button. This will not be bypassed by right clicking and selecting open.

----

The when we launch Starfarer for the first time with Gatekeeper set to Allow applications downloaded from: Mac App Store and identified developers (10.8 default setting), we're supposed to get (3), which can be bypassed by right clicking. We don't. Instead, we're getting (4).

Changing the Gatekeeper setting to Allow applications downloaded from: Anywhere causes (2) when attempting to launch Starfarer for the first time. Launches after that result in (1), which is the expected behaviour because Gatekeeper only applies to the first run of an executable. Changing Gatekeeper back to the anally retentive Allow applications downloaded from: Mac App Store and identified developers setting still allows Starfarer to be launched afterwards, because the executable has now been marked "safe" by Gatekeeper.

The updated build fails to launch with a (3) with Gatekeeper strict, and launches with a (2) with Gatekeeper relaxed, which is the appropriate behaviour for an unsigned app.

Hope that helps.

---edit---

Would changes precisely did you make to the app? I'm asking because if you really did simply change the architecture setting, then this is possibly a bug on Apple's side. I'm a Mac and iOS developer, and I'd like to go file a bug report with them if that's really the case.
« Last Edit: August 12, 2012, 08:44:24 PM by brian »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23946
    • View Profile
Re: Mac Download
« Reply #25 on: August 12, 2012, 09:36:54 PM »

Thanks for the info.

Hmm. It does sound like an issue with Gatekeeper.

The original 0.53a distribution had an x86_64 version of JavaApplicationStub (an executable that's used to launch Java - provided by Apple, found with Apple's Java distributions). It also had instructions in Info.plist to run JavaApplicationStub using x86_64 if possible, and to run the JVM using x86_64 as well - in both cases, with fallbacks to i386 and then PPC.

Build one simply removed the instruction to run the stub using x86_64, and was trying to run it in i368.

Build two did that, and replaced the stub with another version of the stub that didn't have x86_64 baked into it, and that 0.52.1a shipped with (which made it seem a safe choice), but still asked to launch the JVM in 64 bit.

Build three did both of the above, but didn't ask to launch the JVM in 64 bit.


I know for a fact the stubs are somewhat buggy... but the fact that Gatekeeper is treating these differently just seems wrong. None of the app bundles are signed. If they don't work in one way or another, alright, fine - but the stuff Gatekeeper does seems like it should be happening before whether or not the bundle will actually run successfully is even known. Apparently, it just really doesn't like JavaApplicationStub from build one - since build two and three do not get into "state 4".


If I could impose on you yet again... would you mind giving this build a try? It's using yet another version of JavaApplicationStub - this one from a Java install on a 10.8 system. It does not try to run the stub in 64 bit, but does try to run the JVM in 64 bit if possible.
Logged

brian

  • Ensign
  • *
  • Posts: 15
    • View Profile
Re: Mac Download
« Reply #26 on: August 13, 2012, 12:05:21 AM »

It behaves the same as build 1, throwing the <appname> is damaged and can't be opened error.

Additionally, I noticed that each run puts this in the Console:

8/13/12 2:57:10.807 PM CoreServicesUIAgent[1319]: Error SecAssessmentCreate: The operation couldn’t be completed. (OSStatus error -67061.)
8/13/12 2:57:13.229 PM com.apple.launchd.peruser.501[268]: ([0x0-0x112112].com.Fractal Softworks LLC.Starfarer.Starfarer[1353]) Exited: Killed: 9

I am running OS X 10.8, build 12A269

java version 1.6.0_33
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

Let me know if there's anything else you need. I'll look into this in greater detail after office hours..


---edit---

Just to be more specific:

starfarer_mac-0.53a-RC4 - fails.
starfarer_mac-0.53a-test-arch - works.
starfarer_mac-0.53a-test-stub  - works.
starfarer_mac-0.53a-test-info - fails.
starfarer_mac-0.53.1a-test-arch - fails.

By fail I mean, case (4), and by works I mean case (2).
« Last Edit: August 13, 2012, 12:20:32 AM by brian »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23946
    • View Profile
Re: Mac Download
« Reply #27 on: August 13, 2012, 10:15:51 AM »

Thanks for giving it a try. Using the info you provided, finally tracked down what it is:

http://lists.apple.com/archives/java-dev/2012/Jul/msg00150.html

Apparently, the JavaApplicationStub that comes with later versions of OS X is signed by Apple, which (somehow?) causes this behavior. I guess it sees the whole app as incorrectly signed, or some such. Older versions of the stub are not signed, so they work. Yay, progress - I'm just waiting for when you can't run anything that didn't come from the Mac App Store, period... Also, the whole concept of a JavaApplicationStub is insane in the first place. How about, you know, letting an app run a shell script as the entry point? /rantoff


There's also some ruby linked in that post that removes the signature from the stub... stay tuned. (I need to use the new stub to run the JVM in 64 bit, because the old stub has a bug where it can't do that.)
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23946
    • View Profile
Re: Mac Download
« Reply #28 on: August 13, 2012, 10:35:42 AM »

Alright! Could you try this one? Same stub as before, sans Apple's signature - if this actually works, then stuff is in good shape.

Thank you again for all your help.
Logged

NateS

  • Ensign
  • *
  • Posts: 2
    • View Profile
Re: Mac Download
« Reply #29 on: February 15, 2013, 07:49:47 AM »

Hi Alex, I'm NateS from JGO. Sorry to necro this thread, but this thread rocks. :) I have a 2D skeletal animation tool, Spine, and users are having trouble on OSX. The launcher you provided in your last post has been working great for months. As far as I could find you are the only one on the entire innertubes to have figured out how to make a launcher that doesn't prompt to move the app to the trash! However, it seems that if a user only has Java 7 checked in their Java Preferences, then the launcher doesn't work. Instead, it shows a dialog that says no Java 6+ version could be found. This happens to Spine, I also downloaded and checked Starsector mac-0.54.1a-RC2 and the same thing happens there.

Maybe we can work together to figure this out. I guess we need an updated stub, then to remove the signature...

Apple sucks! :(

Edit: Looks like it's expected behavior for the launcher to not find Java 7, see response here:
http://lists.apple.com/archives/java-dev/2012/Apr/msg00114.html

I packaged my app with a JRE and it worked on OSX, though I went from 6mb to 38mb. Fuuuuuu

Edit2: It occurs to me that bundling the JRE is running a shell script... so there is no reason why I can't just launch Java from the shell script and call it a freaking day. Right? Right?! So that seems to work just fine. I made you a skeleton .app example that uses this in case you want to do the same:
http://n4te.com/temp/AppleSucksSoMuch.app.zip
Just put in your JAR, editor the plist, run.sh, icons, splash, etc.
« Last Edit: February 15, 2013, 08:27:13 AM by NateS »
Logged
Pages: 1 [2] 3