libgdx / gdx-pay

A libGDX cross-platform API for InApp purchasing.
Apache License 2.0
225 stars 83 forks source link

Add ipv6 support for ios #126

Closed drayylmao closed 7 years ago

drayylmao commented 7 years ago

My game crashes whenever I'm connected to an ipv6 network and try to launch my game with Gdx pay. Apple is starting to reject apps because of this.

keesvandieren commented 7 years ago

Thanks for reporting!

Do you have more information, such as:

We also have to find out how to configure an iPad (or router) for IPV6 only Wi-Fi connections. If you already have identified this, it helps if you share this info.

keesvandieren commented 7 years ago

Found this about IPV6 support and how to test it: http://www.brianjcoleman.com/tutorial-how-to-test-your-app-for-ipv6-compatibility/

drayylmao commented 7 years ago

The app launches great when directly launching from eclipse instead of packaging. Here's the log when launching from eclipse to the device for comparison: http://pastebin.com/mRWKCYfw

I've noticed that the app not only crashes on ipv6 networks now as well which is odd.

During review, your app failed to launch on iPad running iOS 10.0.1 on Wi-Fi connected to an IPv6 network.

Specifically, when we selected the application on the Home screen, the app displayed a launch image then quit unexpectedly. This may be because iOS 10 uses a watchdog timer for applications; if an application takes too long to complete its initial startup, the operating system terminates the application.

Next Steps

Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify the launch issue(s), then revise and resubmit your app for review.

For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue(s). For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue(s).

Resources

For information about the watchdog timer, please see Technical Q&A: Application does not crash when launched from debugger but crashes when launched by user.

If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.

If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:

  • complete details of your rejection issue(s)
  • screenshots
  • steps to reproduce the issue(s)
  • symbolicated crash logs - if your issue results in a crash log

I can post a video of me going through the process of importing Gdx-Pay into a clean version of my project if it's needed.

drayylmao commented 7 years ago

When you run the app with simulator or real device by eclipse roboVM plugin, the maven dependency will be packed to the target ipa and deploy to your simulator or real device, so it works fine. But when you use Robo VM Tools -> Package for app store/Ad-Hoc distribution... to export ipa file, the maven dependencies aren't exported to the target ipa.

The solution was to put the core/android/ios/etc jars within a lib folder in their individual directories and compile it using compile fileTree(dir: 'lib', include: '*.jar')

Then refreshing gradle. Before, it DID compile on non ipv6 networks but did not on ipv6 networks. Upon doing this it worked.