Commit Graph
42 Commits
Author SHA1 Message Date
Lars Sundström da19f39164 IOS7: Update the window size correctly
Applications running on iOS are usually full screen. On newer iPads
and when running iOS applications on macOS the application window
size can be changed.

When running the iOS application on macOS using "Designed for iPad"
option, the window can be changed, also to full screen. The function
"safeAreaInsetsDidChange" is then called. Update the screen size
using the view window property instead of checking the UIScreen
window bounds since these never changes.

If forcing the application to run in full screen setting the option
UIRequiresFullScreen to TRUE, it seems to trigger ScummVM to run
in portrait mode instead of landscape mode when running the app in
macOS using "Designed for iPad" on Apple silicon macs.

The UI doesn't require full screen since the application handles
resolution changes nice.
2024-01-21 10:57:27 +01:00
Lars Sundström 26d9e6dd8c DISTS: Add screenshots for iOS AppStore release
Add required screenshots according to Apple requirements:
https://developer.apple.com/help/app-store-connect/reference \
/screenshot-specifications/

Screenshots have been taking using the Xcode simulator running
three different devices, iPad Pro 12.9, iPhone 15 Pro Max and
iPhone 6S Plus.
2023-12-14 23:03:48 +01:00
Lars Sundström 131d0a2ea3 DISTS: Update iOS metadata document for build TestFlight build 8
The next public version of ScummVM on TestFlight was 2.8.0 (8).
It was based on the commit with SHA 710878a from the ScummVM Git
branch-2-8 tree.

The "Release notes" section is updated with the text from "What to
Test" information provided in TestFlight.
2023-12-14 23:03:48 +01:00
Lars Sundström 32bb64bab1 DISTS: Update iOS metadata document for build TestFlight build 7
The next public version of ScummVM on TestFlight was 2.8.0 (7).
It was based on the commit with SHA eb66c63 from the ScummVM Git
master tree.

The "Release notes" section is updated with the text from "What to
Test" information provided in TestFlight.
2023-12-14 23:03:48 +01:00
Lars Sundström e85805e4f9 DISTS: Update iOS metadata document for build TestFlight build 6
The next public version of ScummVM on TestFlight was 2.8.0 (6).
It was based on the commit with SHA fb504e0 from the ScummVM Git
master tree.

The "Release notes" section is updated with the text from "What to
Test" information provided in TestFlight.
2023-12-14 23:03:48 +01:00
Lars Sundström f6d48f6f17 DISTS: Add initial metadata document for iOS port
To document all public releases notes of the iOS port on TestFlight
and AppStore, add a metadata document which shall be updated for
every new public release.

The Android metadata document has been used as base with additions
of included games. The "Release notes" have been updated with what
was provided as "What to Test" notes in the first public version of
ScummVM on TestFlight.

This note corresponds to the iOS build 2.8.0 (4), based on commit
SHA 4c092c2 from the ScummVM Git master tree.
2023-12-14 23:03:48 +01:00
Eugene Sandulenko 0acbc8ae4e RELEASE: This is 2.9.0git 2023-12-03 22:09:08 +01:00
Lars Sundström b876e2342d PORTS: DISTS: Add ios7 on-screen icon assets
When building the iOS port of ScummVM using configure instead of
Xcode, the on-screen icons were not copied to the generated bundle.
Assets not being application icons or launch images are compiled to
an Assets.car file by Xcode and put in the root directory of the
application bundle.

Generate a Assets.car containg the on-screen icons by running the
following command in the dists/ios7 directory:
xcrun actool ./Images.xcassets --compile build --platform iphoneos \
--minimum-deployment-target 7.0 --app-icon AppIcon \
--output-partial-info-plist partial.plist \
--launch-image LaunchImage

The Assets.car seems to be a proprietary Apple’s archive that first
appeared in iOS 7.

This commit adds a compiled Assets.car contating the assets to the
ios7 dists, just as in the tvos dist. The Assets.car file is then
copied to the root directory of the app bundle in the ports.mk file
when running "make ios7bundle"
2023-11-11 22:59:24 +01:00
Lars Sundström 94d859f790 DISTS: IOS7: Add ios-help.zip
Add zip file containing images for the help section for the iOS
port.
2023-10-11 23:14:37 +02:00
Lars Sundström ac98432429 DISTS: IOS7: Add touch mode assets
The Android backend have two on-screen controls. One for configuring
the touch mode setting and one for accessing the main menu.
The on-screen controls are presented as two clickable buttons.
The image of the touch mode setting changes depending on which mode
that is configured.

Add the same images as assets to the iOS port. Unfortunately it's
not possible to share the same resource files becuase the assets
in Android are of type Android vector drawable.
iOS can handle vector based images, but only in form as a PDF.
There's a lot to read about this format but luckily there are free
converter tools between the formats.

Add converted versions to the iOS7 port.
2023-10-10 20:55:48 +02:00
Lars Sundström a75d53a5ec DISTS: Add ITSAppUsesNonExemptEncryption property to Info.plist
Every time ScummVM iOS application is submitted to TestFlight or the
App Store, App Store Connect asks a question about the application's
export compliance. To not have to answer that question on every
upload, set the property ITSAppUsesNonExemptEncryption in Info.plist
to NO.

ScummVM uses third-party libraries that utilizes encryption, however
these are configured to use standard encryption algorithms or crypto
functionality within Apple’s operating system, thus fulfilling the
export compliance.
2023-05-09 14:33:56 +02:00
Lars Sundström 4803785aaf DISTS: Remove UIApplicationExitsOnSuspend from ios7 Info.plist
The option UIApplicationExitsOnSuspend is deprecated and not valid
anymore. Remove it to be able to push app to AppStore connect.
2023-03-16 14:41:10 +01:00
Lars Sundström 4d1a78c6ed DISTS: Add AppStore icon for ios7 port
Apple requires a 1024x1024 icon with no transparency as an AppStore
icon.
When updating the icon set Xcode automatically changed the json file
structure to have the file names on top of each record.
2023-03-16 14:41:10 +01:00
Lothar Serra Mari baa0a1fa10 RELEASE: This is 2.8.0git 2023-01-20 20:31:01 +01:00
Lars Sundström 8d395fd790 IOS7: Add support for Extended Gamepad controllers
Add support for Extended Gamepad controllers. What defines extended
gamepad controllers can be found here:
https://developer.apple.com/documentation/gamecontroller/gcextendedgamepad

Support has been added for controlling the pointer position using the
left thumbstick, left clicks using the A-button and right clicks using
the B-button. Also the Main menu can be accessed using the Home/Menu
button.

The thumbstick values are received when changed, however if holding the
thumbstick in the same position the valueChangedHandler will not be
called. Therefore store the X- and Y-axis values and begin to poll
readings of the stored values for as long as the thumbstick is out of
the center position.
2022-08-08 21:08:56 +01:00
Lars Sundström db2e15b3f1 IOS7: Factor out touch pointer handling to TouchController class
Move touch inputs to a TouchController class to move some logic from the
iPhoneView class. Only do this for touches on screen since connected
trackpads can generate touches as well. The latter ones are of type
UITouchTypeIndirectPointer while touches on screen are of type
UITouchTypeDirect. They are separated thanks to the preference key
UIApplicationSupportsIndirectInputEvents set to YES in Info.plist.
Without the preference above, there is no way to distinguish touches
from screen from a trackpad.
2022-08-08 21:08:56 +01:00
Lars Sundström 4133cf4b9f IOS7: Add GameController capability
Add the GameController framework to the project and enable support for
controller user interaction in the Info.plist file. This allows for
Game Controller compatible devices to notify the application when
connected.

Add GameController framework to configure and ports.mk if not using
Xcode to build the target.
2022-08-08 21:08:56 +01:00
Lothar Serra Mari a07be8c665 RELEASE: This is 2.7.0git 2022-06-05 20:43:05 +02:00
Eugene Sandulenko 9a4f0b7c66 RELEASE: This is 2.6.0git now 2021-10-01 16:04:48 +03:00
Thierry Crozat 8ef63e0e0d IOS7: Add support for upside down portrait orientation 2021-09-29 20:30:16 +01:00
Eugene Sandulenko 580ec65220 RELEASE: This is 2.4.0git 2021-08-28 21:01:11 +02:00
Thierry Crozat b33746e37f IOS7: Fix building with Xcode
This partially revert commit 0ff00cca2a and should hopefully
fix bug #12647.

The issue is that the executable name in the Info.plist did not
match the name of the executable generated by Xcode (ScummVM vs
scummvm). I changed it back to $(EXECUTABLE_NAME), which is
automatically replaced by Xcode, and added a sed command to the
make target to replace it with the actual executable name (as
we did with the $(PRODUCT_BUNDLE_IDENTIFIER) already).

An alternative would be to hardcode the name to "scummvm" in the
Info.plist and change the iphonebundle and ios7bundle target to
also use all lower case scummvm when copying the executable.
2021-08-12 21:27:30 +01:00
Le Philousophe 0ff00cca2a MACOS/IPHONE: Sign whole bundle
Add signing to MacOS for arm64 builds
2021-05-29 17:25:22 +02:00
Matthew Duggan 5135f1f4b9 ALL: Run optipng to reduce png file size 2020-11-01 21:34:03 +09:00
Andrew Martin d20d597f72 IOS: Add LaunchScreen.storyboard to support full screen on iPad Pro 2020-09-06 23:38:00 +01:00
Eugene Sandulenko 98e0b14852 RELEASE: This is 2.3.0git 2020-08-30 13:42:19 +02:00
Eugene Sandulenko 41b49444b6 RELEASE: This is 2.2.0git 2019-09-23 00:12:30 +02:00
Matan Bareket eaa9f23505 BUILD: Update logos and icons on ports 2019-04-02 10:55:57 -04:00
Cameron Cawley a39377724f IOS: Sync Info.plist.in and Info.plist 2018-11-14 05:46:21 +00:00
Yoshi Sugawara b4bad9100a IOS: Support building in Xcode 10/iOS 12, and for iPhone X-like devices that have a "safe area"
iOS 12 drops support for libstdc++, so the project needs to be compiled explicitly using libc++.
Support the "safe area" when redrawing the view to leave space for the notch in portrait and
landscape orientations.
2018-10-28 17:16:06 +00:00
Jonny Bergström 4d36385ccb Fix launch on recent iOS device (iOS 11.4.1) 2018-09-10 12:20:56 +02:00
Thierry Crozat cd7e6cd31c RELEASE: This is 2.1.0git 2017-11-30 00:13:10 +00:00
Colin Snover c13defd661 RELEASE: 1.10 will henceforth be known as 2.0
General consensus on the ML was that people wanted to do this.
http://lists.scummvm.org/pipermail/scummvm-devel/2017-November/012008.html
2017-11-21 15:26:52 -06:00
Eugene Sandulenko 53790e7497 RELEASE: This is 1.10.0git 2016-09-26 20:57:54 +02:00
Vincent Bénony d1c0a1f8e5 IOS: Adds support for iPad
These keys are automatically added by Xcode when one compiles a regular Xcode project, but are missing when compiling from the command line.
2016-02-13 17:00:53 +02:00
Eugene Sandulenko 0930018045 RELEASE: This is 1.9.0git 2016-02-05 23:31:25 +01:00
Vincent Bénony 15a1db3fa0 IOS: Updates the splash screens 2016-01-07 13:50:34 +01:00
Vincent Bénony ac94ad1162 IOS: Update the autotools template files 2016-01-06 16:20:28 +01:00
Vincent Bénony cfcd3842ed IOS: Adds iPhone 6/6+ launch screens 2016-01-06 16:17:37 +01:00
Vincent Bénony 5035a6e394 IOS: Recommanded settings for Xcode 7.2 2016-01-06 16:17:36 +01:00
Vincent Bénony e9378ccf3e IOS: Avoid subclassing UIApplication, and handle multitasking 2016-01-06 16:17:35 +01:00
Vincent Bénony 638dc113f8 IOS: Create two targets for old iPhone (iOS <= 6) and new one (iOS >= 7)
The "iphone" backend is the support for the old iPhones.
The "ios7" backend is for the new iPhones.
2016-01-06 16:17:33 +01:00