paul p
paul p

Reputation: 450

Unity3d OSX "Application can't be opened"

I'm using a PC and I've created a build for Mac standalone.

I shared the file with my test user by zipping and emailing the build, but when he tries to run the application he sees this error:

The application "SomeApp.app" can't be opened.

After some searching, I learned that I need to do chmod to open the file. Can anyone tell me how to do that on a Mac?

Upvotes: 3

Views: 7095

Answers (2)

sunny_side_up
sunny_side_up

Reputation: 1

I had the same issue, I left an answer here, at the bottom: https://forum.unity.com/threads/mac-build-breaking-when-uploaded-to-storage.1093330/

The problem was not with the .zip, but rather with the build itself. Ran fine on my Mac, did NOT run fine once I uploaded it and downloaded it again (or if anyone else downloaded it).

Edited 12/8/2021, as per EmiOB's suggestion, to add the text of my answer (same as in the link):

This worked for me on 2020.3.16f1:

  1. In the Unity Editor: Build Settings, check the box that lets you make an XCode project (requires having XCode installed, I believe I have Xcode 11)
  2. Open the XCode project
  3. Build

That solved my problem :)

Upvotes: 0

rutter
rutter

Reputation: 11452

The zip format doesn't have easy support for Unix-like file permissions, so your transfer process is stripping any permission flags that OSX uses to recognize files within that zip that are supposed to be executable. This can also happen with other file transfer solutions, so it's something to watch out for.

The best solution would be to create an archive which does keep those permissions, such as a tar archive.

Failing that, you can have a Mac user open a terminal and set the permission flag manually:

chmod a+x SomeApp.app/Contents/MacOS/*

(Replace SomeApp.app with whatever your .app folder is named)

Upvotes: 7

Related Questions