bevyengine / bevy_github_ci_template

Apache License 2.0
206 stars 45 forks source link

macOS builds are broken #67

Open janhohenheim opened 4 months ago

janhohenheim commented 4 months ago

image

janhohenheim commented 4 months ago

@mockersf I fixed the macOS build in the following PR on the jam template: https://github.com/TheBevyFlock/bevy-template/pull/112

I heard you have some thoughts on how to build macOS stuff. I know that in the past .dmg has caused issues for the itch.ion app. I've also heard that cargo-bundle may be the way to go on macOS. Cards on the table, my PR linked above just tries to at least have something working, even if it's not perfect. @alice-i-cecile has asked me to backport my PR to the CI template, but I think since you have probably put more thoughts into this than me, I'd like to hear your advice first.

mockersf commented 3 months ago

@mockersf I fixed the macOS build in the following PR on the jam template: TheBevyFlock/bevy_quickstart#112

How do your PR fixes this? Is it just adding the info.plist file?

The "... damaged ..." thing is actually macOS quarantine, and the normal fix is to sign apps (which requires a developer program subscription) (or to ask users to enable running any app, or to remove the quarantine flag with xattr -dr com.apple.quarantine MyApp.app). Apple makes running unsigned apps a bit harder with every new version of the OS

janhohenheim commented 3 months ago

It creates a universal binary with an info.plists inside the dmg, yes. It will still warn you about the app being from an unknown source, but at least it won't tell you that it is broken.

mockersf commented 3 months ago

I would prefer to avoid the universal binary, and instead build one deliverable for intel and one for arm if you want to add support for both.

Adding the info.plist is good 👍

janhohenheim commented 3 months ago

@mockersf what's your reasoning there? It seems to me like a universal app is what Apple has been recommending, and the bottleneck in file size are assets, not binaries. Have universal binaries maybe caused issues I'm not aware of?