aboutsummaryrefslogtreecommitdiff
path: root/platform/iphone
Commit message (Collapse)AuthorAgeFilesLines
* Proper focus in/out handling on iOSRuslan Mustakov2018-05-111-12/+9
| | | | | | | | | | | | | | | | | | PR #18675 (commit 96301e9) revealed a problem with how iOS lifecycle callbacks were handled by Godot. Before that PR it was possible to get NOTIFICATION_WM_FOCUS_IN callback without getting the corresponding NOTIFICATION_WM_FOCUS_OUT. That commit added a flag to ensure they are always coupled, but now there is an issue when, for example, you open a notification panel on iOS without moving the app to background. It resulted in view.stopAnimation being called without the corresponding startAnimation when the app moves to foreground again, so it looked like the game hanged. I changed focus out notification to be sent in applicationWillResignActive, because it makes more sense than to do it in applicationDidEnterBackground, because it is always called in pair with applicationDidBecomeActive, where focus in is sent. applicationDidEnterBackground may not come under circumstances that are now described as a comment in code.
* Resume audio on iOS after phone call or alarmRuslan Mustakov2018-05-072-21/+59
| | | | | | | When a phone call or an alarm triggers on iOS, the application receives an "audio interruption" and it's up to the application to resume playback when the interruption ends. I added handling for audio interruptions same as if the game is focused out and then back in.
* Merge pull request #17196 from RandomShaper/improve-gui-touchRémi Verschelde2018-05-023-47/+13
|\ | | | | Implement universal translation of touch to mouse (3.1)
| * Implement universal translation of touch to mousePedro J. Estébanez2018-04-303-47/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
* | Provide error details when in-app purchase failsRuslan Mustakov2018-04-191-0/+1
|/
* iPhone X support and iOS-related fixesRuslan Mustakov2018-04-116-77/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix UpdatePowerInfo method implementation in PowerIphone classIgors Vaitkus2018-03-311-1/+1
|
* Fix IPhone and OSX cross compilationFabio Alessandrelli2018-03-281-1/+6
|
* fix iOS build - error due to GLES2 missing include (with the advice from ↵Yannick Le Duc2018-03-131-0/+1
| | | | bruvzg[m] on irc)
* Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez2018-03-041-1/+2
|
* Add missing return statements (iOS and server).bruvzg2018-02-251-0/+2
|
* add restore purchases for iOSJ Andrew Long2018-02-222-0/+15
|
* Improve missing iOS loading screen error messageRuslan Mustakov2018-01-071-1/+1
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-0524-0/+24
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Change OS::initialize signature to return Error (fix segfault on x11)Emmanuel Leblond2018-01-042-2/+4
|
* Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursorRémi Verschelde2018-01-032-0/+3
|\ | | | | Custom hardware-accelerated mouse cursor
| * Add implementation for custom hardware cursorGuilherme Silva2017-12-172-0/+3
| |
* | Update copyright statements to 2018Rémi Verschelde2018-01-0128-56/+56
|/ | | | Happy new year to the wonderful Godot community!
* Updated Linux template extensions to match architecture.Nathan Warden2017-12-121-1/+1
|
* iOS: Drop obsolete code from never-public modulesRémi Verschelde2017-12-102-138/+3
|
* Fix Manage Export Templates linkMattUV2017-12-081-0/+1
| | | | | In some cases, the link to download export templates was missing. Fixes #14391
* Merge pull request #14356 from volzhs/ios-delegate-masterRémi Verschelde2017-12-071-1/+2
|\ | | | | use application:didFinishLaunchingWithOptions: instead of application…
| * use application:didFinishLaunchingWithOptions: instead of ↵volzhs2017-12-071-1/+2
| | | | | | | | applicationDidFinishLaunching: for iOS
* | Style: Apply new clang-format 5.0 style to all filesRémi Verschelde2017-12-073-16/+12
|/
* Fix open_dynamic_library override in OSIPhoneRuslan Mustakov2017-12-032-3/+3
| | | | Was broken at 9678231b109c333a5273325c8758241310cd27f4
* Enhanced iOS and UWP logo on Export dialogIndah Sylvia2017-11-291-4/+2
|
* disable caching for targets using helper functionsRhody Lugo2017-11-281-2/+1
|
* use the same cache for all branches for appveyorRhody Lugo2017-11-281-0/+1
|
* Made Vector::ptrw explicit for writing, compiler was sometimes using the ↵Juan Linietsky2017-11-251-1/+1
| | | | | | wrong function, leading to unnecesary copy on writes and reduced performance.
* Return and repair file loggingRuslan Mustakov2017-11-212-13/+7
| | | | And make it configurable, too.
* Allow configuring iOS exportRuslan Mustakov2017-11-216-92/+480
| | | | | | | | | | | | | | | | | - EditorExportPlugin's _export_begin accepts all the arguments related to the current export (is_debug, path, flags). - EditorExportPlugin API is extended with methods allowing to configure iOS export: add_ios_framework, add_ios_plist_content, add_ios_linker_flags, add_ios_bundle_file. - iOS export template now contains Godot as a static library so that it can be linked with third-party Frameworks and GDNative static libraries. - Adds method to DirAccess for recursive copying of a directory. - Fixes iOS export to work with Xcode 9 (released recently).
* Merge pull request #12988 from akien-mga/xdg-home-pathsRémi Verschelde2017-11-202-4/+4
|\ | | | | Add support for XDG Base Directory spec
| * Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde2017-11-172-4/+4
| | | | | | | | | | Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
* | Merge pull request #13045 from akien-mga/gles2-cleanupRémi Verschelde2017-11-194-10/+3
|\ \ | | | | | | Cleanup old references to GLES2 renderer
| * | Cleanup old references to GLES2 rendererRémi Verschelde2017-11-194-10/+3
| |/ | | | | | | | | | | | | | | | | There are still some left in the Android Java code, even stuff to swap between GLES1 and GLES2 support from early Godot days... would be good to see some cleanup there too one day. The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported. It can be readded when GLES 2.0 support comes back. Fixes #13004.
* / Add currency code to iOS product details responseEvgeny Zuev2017-11-191-0/+3
|/
* Merge pull request #12922 from eska014/engine-singletonsRémi Verschelde2017-11-141-5/+5
|\ | | | | Singleton management changes
| * Move singleton management from ProjectSettings to EngineLeon Krause2017-11-141-5/+5
| |
* | change matrix and enable caching for Android, iOS and macOS (cross-compile)Rhody Lugo2017-11-131-5/+16
|/
* Remove get_default_video_mode definition on OSX/iOSRémi Verschelde2017-11-092-7/+0
| | | | | | | | It had been missed in d09160a8b67fdc60e8108962c4e9bd4c0bc7f13e and broke compilation for those platforms. Took the opportunity to run clang-format on the code base to fix some corner cases that went through our static tests/were overlooked recently.
* Prevent to stop music in another background app on iOSvolzhs2017-11-061-0/+3
|
* Merge pull request #12262 from AndreaCatania/pplugJuan Linietsky2017-11-032-18/+0
|\ | | | | Physics server plug
| * Implemented physics plugAndreaCatania2017-11-042-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moved init_physics Implemented physics 2D plug Fix clang Fix clang Fix static check Fix clang Fix static check Moved physics server initialization Moved physics server settings initialization
* | SCons: make use_lto a global option and opt-in for iphoneRémi Verschelde2017-11-021-2/+6
| | | | | | | | Supersedes #12553, see discussion in #12552.
* | Disable logging until the logs location is sorted outRémi Verschelde2017-10-291-1/+3
| | | | | | | | Temporary workaround for #12277.
* | Merge pull request #12252 from MednauN/masterRémi Verschelde2017-10-202-17/+62
|\ \ | | | | | | iOS GameCenter fixes
| * | Fix iOS GameCenter connection flowEvgeny Zuev2017-10-202-17/+62
| |/ | | | | | | Add method for secure authentication to GameCenter
* / update GKScore init functionsersoong2017-10-201-1/+1
|/ | | | (cherry picked from commit 5ed8826dd07eab83b6f6b6b7d3af602926a54ae6)
* Sign iOS dylibs before packagingRuslan Mustakov2017-10-161-9/+9
| | | | | | These changes allow to open the exported project in XCode and Run it immediately to begin debugging. Before these changes you'd have to sign GDNative libs and change Build Configuration manually.
* Use binary names instead of absolute paths in calls to OS::execute.fix/use-bin-nameJ08nY2017-10-131-3/+3
| | | | | | Now that #12009 is merged, we should let the system find the binary on the users $PATH and don't assume we know where to look for them in different distributions.