Hey everyone!

I just posted a new tutorial on RandomMomentania that shows a cool way to easily test iOS and Android apps using Godot without having to build and rebuild the project each time. It has a few limitations, but almost everything you can do in Godot normally works just fine and it can really speed up the development process. The biggest limitations are that you have to commit to a using a Godot version all the way through development and cannot use C#.

It's also super useful if you want to develop on iOS without a Mac, as you only need to build the project once on a Mac and then can reuse it as many times as you want without a Mac at all (though you still need a Mac to release the app). For me, I use Windows and Linux on my development machine, so having a way to develop iOS apps using Godot without needing a Mac is great. Once I discovered the technique, I wanted to share as it can really make mobile development, especially on iOS due to the Mac requirement, much more accessible. I can see it also being useful for Consoles as well, so long as you can access the file system.

Here's a link to the tutorial: https://randommomentania.com/2022/01/godot-easy-ios-app-testing/

I wrote it kinda quickly, so it may be a little rough around the edges, but hopefully it will be helpful! :smile:

OK I dont understand I thought you could export for a mac on win or linux godot system?

You can on desktop, for the most part. But I just discovered that you can't release a macOS game on Steam without getting notarized by Apple, and that requires a Mac. The same restriction also applies with iPhone and iOS, I believe. Which is really silly and arrogant of Apple, but I won't get into that here. Basically they have a huge market (on mobile) so if you want to make any money you have to play by their rules.

@jbskaggs said: OK I dont understand I thought you could export for a mac on win or linux godot system?

You can export for a Mac (without code signing / notarizing), but you cannot export for iOS on Windows or Linux. The libraries for building to iOS requires using XCode, which Apple makes only work on Mac computers currently. This makes it where if you want to do any development work for iOS, you have to use an Apple computer in some way. The idea with the tutorial and PCK loading is that you would only ever need to use a Mac once to build the PCK loading app, and then from that point on you can simply use the PCK loader to test your game.

For releasing you'd still need a Mac though, as you would need to build the final project, but then it would only require using a Mac for a short time for release, rather than needing a Mac all the way through development :smile:

Maybe one day Apple will release XCode and the necessary libraries for Windows and Linux... Probably not, but one can hope :lol:

Yeah, it makes cross-compiling really cumbersome. Since I knew I wanted to support Mac on my demos, I had to buy a Mac, but I got a good deal on a 2020 MacBook Air for $800. It was open-box on eBay, but I think they made a mistake because the laptop I got was brand new!

Anyway, for a while I was copying the project files to Mac every time I wanted to release, and then copying the export back to my Linux PC to upload. The source project was about 5GB, so this took a bit and was annoying. Then I found that I could export for desktop Mac from Linux, and this works on Itch. But it won't work on Steam, so you still need a Mac.

@cybereality said: Yeah, it makes cross-compiling really cumbersome. Since I knew I wanted to support Mac on my demos, I had to buy a Mac, but I got a good deal on a 2020 MacBook Air for $800. It was open-box on eBay, but I think they made a mistake because the laptop I got was brand new!

Awesome, sounds like a great deal!

Anyway, for a while I was copying the project files to Mac every time I wanted to release, and then copying the export back to my Linux PC to upload. The source project was about 5GB, so this took a bit and was annoying. Then I found that I could export for desktop Mac from Linux, and this works on Itch. But it won't work on Steam, so you still need a Mac.

Yeah, I have access to a Mac because I have a friend who doesn't mind letting me borrow it every so often, but it's not ideal to shuttle data back and forth. For MacOS development it's not too bad, as generally I can test and develop the majority of the project on Windows or Linux, but until I found this trick I didn't have the same success with mobile.

That said though, there are many things you just have to have a Mac for unfortunately. At least the M1 chips are interesting! I imagine it's not going to improve cross-compiling any, especially now that it's ARM-based and not X86, but the custom silicon is neat and the performance is impressive for their first attempt at non-mobile processors.

Yeah, the M1 chips are pretty good. Even though the 3D rendering on the Mac is substandard, the general performance is quite fast, and in some cases faster than my $4,000 AMD desktop machine. For a $800 laptop, that is impressive.