-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upload to Apple App Store (Universal macOS Binary required, signing issues) #1599
Comments
Just wanted to add that it is not technically mandatory for the App Store, as I think you can still upload Intel only apps at this time. However, if you want the app to run natively on M1 Macs, you are required to build a Universal app with support for both architectures. |
I am working on support for the Apple App Store. Could use some guidance on this if possible. See #1613 |
Does anyone have any idea how to fix the univeral binary issue? Intel and ARM64 in one binary. |
It is now possible to upload apps to the App Store now that #1613 is merged. However, TestFlight is not working and universal binaries are not supported. Any suggestions? |
Got TestFlight working thanks to Apple's help with the remaining errors. See #1812. |
@Thomas-Vos is there anything left for this task? |
@akurasov both the App Store and TestFlight are functional. However, there is no native support for the Apple M1 chip. For the App Store, a universal binary (Intel + ARM64) is required to support M1 natively as you can only upload one binary. As a workaround for now, Intel only apps can be uploaded. They can run on M1 with Rosetta 2, but of course native support is much better (and maybe even required in the future). So that is still an open issue. |
I think these are a bit different issues. What you are saying - we need to publish Skiko and Compose for MacOS M1, right? |
Apple approved my Compose app for the Mac App Store: https://apps.apple.com/app/id1462943921 TestFlight builds are also working great. Now all that is missing is a universal build so that M1 is supported natively. |
This complicates builds too...e.g., M1 Mac Minis are typically used in CI, but we can't built an Intel binary on those. Binaries built on an M1 Mac can't run on an Intel Mac. |
Hi all 👋 I recently tried to publish my macOS app to the App Store and the publishing failed because I wasn't including an Intel version <img width="609" alt="Screenshot 2024-02-04 at 17 31 52" src="https://github.com/JetBrains/compose-multiplatform/assets/9467705/a3f421ed-ca77-460b-bc2e-7ceafb3ca1c0"> The alternative could be publishing a Universal binary, but it's not quite supported now (see #1599). But by setting the minimum version of macOS to 12, it's possible to upload only arm version. So, I've added the possibility of changing the minimum macOS version.
Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks. |
To be able to upload a Compose for Desktop app to the Apple App Store, there are multiple issues that need to be resolved.
Universal macOS Binary (optional)
To be able to support both Intel and ARM64 Macs natively, there needs to be a way to build a Universal pkg (Intel + ARM64). That is needed to be able to upload it to the Apple App Store. The only alternative for now is to upload an Intel-only app.
I tried adding both
compose.desktop.macos_arm64
andcompose.desktop.macos_x64
dependencies as suggested on Slack. However, the produced app is still not Universal.I am building the project on an M1 Mac with an ARM64 JDK. When doing a right click and get info on the produced
.app
it shows Apple Silicon instead of Universal.Furthermore, I am not sure what to do about the bundled JRE. Would I need to include it twice (for Intel and for ARM64) or so?
Slack discussion: https://kotlinlang.slack.com/archives/C01D6HTPATV/p1639570539349100
Found some information on this here: https://bugs.openjdk.java.net/browse/JDK-8266259
The text was updated successfully, but these errors were encountered: