-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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: Added LaunchScreen.storyboard to support full screen on iPad Pro #2418
Conversation
devtools/create_project/xcode.cpp
Outdated
@@ -806,6 +806,7 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles() const { | |||
files.push_back("dists/engine-data/wintermute.zip"); | |||
files.push_back("dists/engine-data/macventure.dat"); | |||
files.push_back("dists/engine-data/xeen.ccs"); | |||
files.push_back("dists/ios7/LaunchScreen_ios.storyboard"); |
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 is not correctly indented - use tabs, not spaces
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.
Thanks, I have changed that to tabs.
b194887
to
35d4e91
Compare
There are two ways to build ScummVM for iOS, one is with I am not really familiar with For the |
Thanks for your reply. I can certainly give modifying the |
I have had a look at amending this so that it can be built via The first issue is that the instructions for building from the command line seem to be a bit out of date. I can follow it down to The second issue is that the ios-toolchain-based-on-clang-for-linux seems to suggest that it is unable to compile storyboard files so it may not work even if I were able to follow the above steps. Given its age I'm unsure if there is another alternative that should now be used.
As the code in this PR currently stands (from testing in Xcode only on a non-jailbroken device), if you compile it without the storyboard file then when the app is first launched you will get a blackscreen for a moment before it loads (instead of the usual ScummVM logo on orange screen). The only way I can think of which would keep the launch screen correct on builds from both Xcode and make (while maintaining the new full screen support on builds from Xcode) would be to create a separate |
So it looks like we might indeed want to exclude the storyboard when doing cross-compilation. One way to do that without duplicating the |
I have manually merged this with a small change (the I have also added a commit to remove the UILaunchStoryboardName from the Info.plist while when running the Thanks again for your contribution. |
Apple requires an iOS app to use a Launch Screen storyboard - instead of a LaunchImage - to enable the app to run in full screen on devices like an iPad Pro. The Launch Screen file I have created just replicates what was in the current LaunchImage file (ie. centered ScummVM logo, orange background)
When run on an iPad Pro the app currently looks like this:- note black borders on either side
With a Launch Screen storyboard added the app can now display in full screen:
The procedure for updating create_project so that this new file was properly included in the Xcode project it creates is not entirely clear, so how I have implemented here was the only way I was able to reliably get the file included in the project and properly assigned to the iOS target only. This was done by adding the new file path in xcode.cpp so that it is included in the project, and naming it with an _ios suffix so that it is only assigned the iOS target (ios7_ prefix does not seem to work correctly, with the file assigned to both the iOS and macOS targets).
Tested on an iPad Pro 13.6.1, Xcode 11.6 (no jailbreak), following build instructions from https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/iPhone#Using_Xcode
Andrew