Skip to content
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

x86_64 iOS template crashes in simulator #17428

Closed
alexzheng opened this issue Mar 11, 2018 · 8 comments · Fixed by #18106
Closed

x86_64 iOS template crashes in simulator #17428

alexzheng opened this issue Mar 11, 2018 · 8 comments · Fixed by #18106

Comments

@alexzheng
Copy link

Godot version:

3.0

OS/device including version:

Issue description:

exported iOS project can not test on simulator.

Steps to reproduce:

Minimal reproduction project:

@akien-mga akien-mga changed the title Please add x86_64 for exported project Add support for x86_64 iOS simulator Mar 13, 2018
@endragor
Copy link
Contributor

All that needs to be done here is to include x86_64 as a platform into export template build scripts.

@alexzheng
Copy link
Author

I mean the lib compiled by the following command crash when run on the simulator
scons p=iphone tools=no arch=x86_64 target=debug

@akien-mga akien-mga changed the title Add support for x86_64 iOS simulator x86_64 iOS template crashes in simulator Mar 23, 2018
@akien-mga
Copy link
Member

All that needs to be done here is to include x86_64 as a platform into export template build scripts.

Actually there is x86_64 support in the platform/iphone/detect.py already, so it should work. But the resulting binary seems non functional according to @alexzheng.

@alexzheng
Copy link
Author

alexzheng commented Mar 23, 2018

Any exported project just crashed here when running in the simulator. It seems the input is NULL.The OSIPhone object has not been initialized yet.

int OSIPhone::get_unused_joy_id() {
return input->get_unused_joy_id();
};

@endragor
Copy link
Contributor

Ah, right, I fixed this locally few days ago. Will create a PR soon with this and a bunch of other iOS-related fixes.

@alexzheng
Copy link
Author

Will it be possible to make the default static lib file in the template project support both the devices and simulator. It would make test much easier without compiling custom lib.

@alexzheng
Copy link
Author

alexzheng commented Mar 23, 2018

Please also check my another suggestion #17358 to make the export process much easier for test projects.
It would be better to change the launch images and icons to optional since we have much easier ways to add these into the exported project.

@Shin-NiL
Copy link

Same as here: #17331

endragor added a commit to endragor/godot that referenced this issue Apr 11, 2018
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 godotengine#17358. Fixes godotengine#17428. Fixes godotengine#17331.
hpvb pushed a commit that referenced this issue Apr 14, 2018
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 1d9a3a9)
malcolmhoward pushed a commit to malcolmhoward/godot that referenced this issue Jul 31, 2018
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 godotengine#17358. Fixes godotengine#17428. Fixes godotengine#17331.

(cherry picked from commit 1d9a3a9)
malcolmhoward pushed a commit to malcolmhoward/godot that referenced this issue Jul 31, 2018
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 godotengine#17358. Fixes godotengine#17428. Fixes godotengine#17331.
malcolmhoward pushed a commit to malcolmhoward/godot that referenced this issue Jul 31, 2018
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 godotengine#17358. Fixes godotengine#17428. Fixes godotengine#17331.

(cherry picked from commit 1d9a3a9)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants