-
Notifications
You must be signed in to change notification settings - Fork 179
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
iOS build script(better version of #151) #152
base: main
Are you sure you want to change the base?
Conversation
.app needs to be in the payload folder instead of the contents
# Conflicts: # Cargo.lock
eframe 0.28.2 is required or ([patch.crates-io] & remove |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool - thank you!
@@ -0,0 +1,180 @@ | |||
#!/usr/bin/env python3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file should have a .py
file extension. Maybe it should also be called build-ios
? But the current name is fine too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I decided not to use the .py extension so it can be put into the bin folder & used as command
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it only uses builtin libs
@lucasmerlin you've done some iOS work, maybe you wanna take a quick look? 🙏 |
Look really cool! Is there any reason you decided not to use cargo-mobile? |
I don't want to change the project to run on a iOS target. cargo-mobile compiles it as a static lib and imports it into a swift app. My goal was to have a script that would need to be installed once and can run any existing egui project without modifying it. The only thing that needs to be added is a id to the cargo.toml. |
Ah, I see, that makes sense! |
# Conflicts: # Cargo.lock
this should work for most Egui/eframe projects with a version > 28.1 with "wgpu" as rendering backend |
simple wrapper around, building the project with cargo-bundle & running it with xcrun commands. the toolchains are set by default to aarch64 & can be modified with the --x86 flag or --sim for the simulator. creating a ipa from a .app file is quite easy(rename app folder to Payload and zip it) is also automated