Platform: iOS #590
Labels
No labels
Context: Async
Context: Bug
Context: CI
Context: Dependencies
Context: Documentation
Context: Enhancement
Context: Example
Context: Macro
Context: Runtime
Difficulty: Easy
Difficulty: Hard
Difficulty: Medium
Platform: Android
Platform: Linux
Platform: Web
Platform: Windows
Platform: iOS
Platform: macOS
Type: Discussion
Type: Evaluation
Type: Tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
SakulFlee/Orbital#590
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Before working on iOS, we probably should figure out #573 first.
Android has about the same problems and requirements as iOS has.
1. Proper build tools
Unfortunately, tools like cargo-xbuild are outdated / not supported anymore (NOTE: there might be alternative tools specifically for iOS like cargo-apk!), and there are no proper replacements. Thus, we needed to find a way of compiling to iOS without such tools. While this works, this isn't conclusive at all and it is a rather complicated process (... at least first time setup is a mess).
We don't necessarily need our own tool, but some easy to run command chain like Makefile or Just.
This also should take care of installing dependencies as-needed and possibly making the xCode project.
2. CI / CD
Similar to 1., we don't have any proper CI / CD setup for iOS.
We'd need a way of easily replicating given configurations of iOS versions X source code revisions.
Ideally, we'd build full IPA files and upload them as Artifacts.
3. Asset management
Assets are done much differently on mobile platforms like iOS.
Most, if not all, of the assets are included into the IPA file and have to be read somehow.
The iOS SDK commonly provides functions for easily extracting assets from the currently executed IPA file, but how do we do that in Rust?
If we don't find a crate that gives us such functionality, we'll have to bind the native iOS functions.
This also applies for writing files like save games!
There needs to be a solution for saving files locally.