Qt, Tiled, and macOS Big Sur

I wrote yesterday about the start of my new game development journey. It wasn’t a buttery smooth start by any means 😃 But I’ve been persevering with the issues I ran into with Tiled and was able to get things to work correctly after all. So thought it might be useful to jot down what happened …

But where to start? I guess we’ll start with Qt. I had tinkered around with Qt a few times in the past but I know next to nothing about it. So getting going with Qt was a bit of a struggle. It gave me multiple profiles/targets — or whatever you might call them in your favourite development environment — but I didn’t understand that this was what was happening.

So I selected the wrong target when I should have selected something which had clang support since I was trying to build for macOS. So that took a bit of time and meandering around.

When I finally figured that out, I was able to build Tiled for macOS Big Sur!

But … that wasn’t the end of it. Oh no, no! That was just the start 😛

The built app looked like this in Finder:

The Tiled app can’t be run

If you try to run the app, it would say something along the lines of “You can’t open the application ‘Tiled.app’ because it may be damaged or incomplete.”

I thought it might be a permissions issue. So I tried repairing permissions, changing permissions etc. No dice!

I did some Google searching for the error message. There were plenty of articles about this but it appeared to be about a totally different issue from a couple of years back where all your app icons would get the circle with the slash through it and you couldn’t run any of your apps. This wasn’t that issue — of that I was sure since all my other apps were fine.

I even went through the contents of the app bundle by going to Finder and selecting “Show Package Contents” from the context menu, but I didn’t find anything at first.

But I persisted and eventually I noticed that the app had three executable files and that the Info.plist file for the app bundle had @EXECUTABLE@ set as the Executable file instead of the actual executable name — which should have been Tiled.

I wondered if this was the issue. So I tried changing the Info.plist file and voila! It worked!!

I could finally run Tiled on macOS Big Sur without any issues.

That still wasn’t the full story since I had multiple messages back and forth with the developer of the Tiled to figure out if the app broke under a specific version of Qt when running on Big Sur. TL;DR — it doesn’t. Appears that if you compile Tiled under macOS Big Sur using Qt 5.12 (which is not the latest version — my tests above were with Qt 5.15) it still works fine.

But all’s well that ends well, eh? So on to actually getting started on the game … or the next rabbit hole which comes along, or the one I willfully fall into …

Leave a Reply

Your email address will not be published. Required fields are marked *