-
-
Notifications
You must be signed in to change notification settings - Fork 418
Description
Preliminary checks
- I've checked that there aren't other open issues on the same topic.
Describe the problem requiring a solution
After the initial implementation of iOS build we have a lot of tasks to be solve to bring the build to a user-ready state.
Describe the possible solution
-
add documentation on installation of dev environment and compilation steps for developers: specify earliest version of macOS as required OS, XCode as an IDE, steps to download and install SDL and SDL mixer (they have Xcode projects within their repository. Pay attention to SDL 2 and 3 versions, we use SDL 2), where to copy SDL libraries and how to compile, where to copy game's resources, how to choose device to run and how to make it run on a real device (it needs signing step and personal Apple account) with activation of the developer mode on an iPhone. Make a separate MD file for this documentation.
-
test audio and video playback
-
fix midi music playback being absent
-
fix app termination which right now is just a black screen that needs to be closed manually through app manager
-
make it possible to save new or changed maps in the Editor
-
fix a list of missing resolutions (iOS uses ppi, refer to the link below)
-
fix inability to save a configuration file
-
fix inability to keep save files
-
add an application icon (@ihhub to provide an original image)
-
figure out how to build without the need of game resources within the package and where to put game resources after
-
add GitHub Actions pipeline for iOS build (an example command to build
xcodebuild -project fheroes2.xcodeproj -scheme fheroes2 -destination 'platform=iOS Simulator,name=iPhone 16' build) -
add instructions for end users how to install the application (check how other open source projects do this)
-
add signing stage for the iOS build within GitHub Actions pipeline
-
add a script to automate most of installation steps (as it is done for Android)
-
the script should be located in
script/iosdirectory -
it should be created exclusively for macOS (bash script). Let's call it
install_packages.sh -
the script should download SDL2 and SDL2_Mixer zip archives from GitHub and unzip them into specified locations
-
the script then should renamed unpacked folders
-
the script then should update a XCode project configuration file to solve SDL2_Mixer compilation
-
mandate SDL2 and SDL2_Mixer folders to be within
iosdirectory (add exclusions into .gitignore file)
Additional info
https://wiki.libsdl.org/SDL2/README-ios
No response