godot/platform/iphone
Ruslan Mustakov 99cf2ffb19 iPhone X support and iOS-related fixes
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.

(cherry picked from commit 1d9a3a9b1c)
2018-04-14 20:17:47 +02:00
..
export iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
globals Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
SCsub disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
app_delegate.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
app_delegate.mm iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
detect.py Allow configuring iOS export 2017-11-21 01:16:49 +07:00
game_center.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
game_center.mm Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
gl_view.h iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
gl_view.mm iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
godot_iphone.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
icloud.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
icloud.mm Add missing return statements (iOS and server). 2018-02-27 00:06:01 +01:00
in_app_store.h add restore purchases for iOS 2018-03-28 22:16:07 +02:00
in_app_store.mm add restore purchases for iOS 2018-03-28 22:16:07 +02:00
ios.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
ios.mm Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
logo.png Fixed iCCp chunk in pngs 2016-06-22 21:13:29 +02:00
main.m Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
os_iphone.cpp iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
os_iphone.h iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
platform_config.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
platform_refcount.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
power_iphone.cpp Update copyright statements to 2018 2018-01-01 14:40:47 +01:00
power_iphone.h Update copyright statements to 2018 2018-01-01 14:40:47 +01:00
sem_iphone.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
sem_iphone.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
view_controller.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
view_controller.mm Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00