Codenameone IOS In-app purchase with IPv6 - in-app-purchase

I created an app with in-app purchase function by Codenameone, after submit the IOS build to Apple, it is rejected due to following reason
"We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.1 on Wi-Fi connected to an IPv6 network.
Specifically, we are unable to complete the In-App-Purchase process in your app."
From apple's screenshot, itemPurchaseError callback is triggered, is Codenameone in-app purchase function support IPv6 or not? Thank you
Below is the code used to trigger In-app purchase
Button in_app_purchase_btn = new Button("BuyProfessional"); >in_app_purchase_btn.addActionListener((ActionEvent e) -> Purchase.getInAppPurchase().purchase(SKU_Prof));

The IPv6 is a red herring in the error messages from Apple. It's always there to explain the environment where the failure happens. This doesn't mean they observed the app working on an IPv4 network then crashing on an IPv6 network, it just describes their environment where they saw the crash.
They usually have additional notes describing the crash they observed and you can write to the tester and ask for details if you can't see any.
Since Apples entire testing facility is IPv6 and apps pass QA Codename One obviously works on IPv6 networks without a problem.

Related

iOS App rejected by apple related to ipv6 connection

Apple rejected my app with the following message:
"We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.1 on Wi-Fi connected to an IPv6 network.
Specifically, an error was displayed when we tried to login.
To resolve this issue, please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify any issues, then revise and resubmit your app for review."
On my tests I ran the app on the ipv6 network they help you create with a local machine on ethernet, and what happens is that I can't access the server for request due to "no internet connection".
I also tested the address I'm throwing my requests to and it looks like it is not IPv6 ready.
Could it be that the server side needs to be IPv6 ready?
I'm using NSURLSession for the tasks and my devices are running the latest ios.
From what I read this sounds like an issue we faced. We are in the UK which has limited IPv6 support at an ISP level. Apple rejected our app because our server which handled calls from the app was IPv4.
We resolved this by getting some IPv6 hosting from a company in the US and directing the requests from the app to it, and then across to our code on our IPv4 network here.

Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify the issue(s)

it might sound stupid but i have a problem: iTunes Connect rejected my app, claiming "We discovered one or more bugs in your app when reviewed on iPad running iOS 10.2 on Wi-Fi connected to an IPv6 network.". and they want me to: "Please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify the issue(s), then revise and resubmit your app for review.".
Now, I understand that since 6/16 each app should supports IPv6. Because an application is just a software, i understand that they mean that each URL that I enter from my app should be accessible through IPv6. The weird part is that when i'm trying to reach sites which only available at IPv6 (like http://test-ipv6.com/, http://ds.testmyipv6.com/) i can't reach them, not from Android device, iOs devices, or from any mac. It's hard to believe that different ISP-s doesn't provide IPv6 support.
What am i missing here ?
Did any of you had that problem ?
Anything similar ?
It doesn't mean that servers need to be accessible through IPv6 (although it is highly recommended), it means that your application shouldn't care whether the server is IPv4 or IPv6. Some networks use NAT64 and DNS64 and will give your application IPv6 addresses even for servers that are only reachable over IPv4.
Apple's requirement is that your application must work in such situations.
This has been asked many times. Please look at previous answers. Here are some references:
Is Apple iOS defaulting to IPv6-only, on an app-by-app basis, in the real world?
Can't reproduce (IPv6?) connection issue that App Store review team is having

ios - failing app store ipv6 but can't re-produce

I have an app that is developed in React Native and uses an API to handle all of the data. The app has already been approved with no problems and no crashing.
I have (after WWDC) recently done some updates to the app and tested everything locally as well on a real device. The app works fine with no crashing at all.
Apple have come back with the following response:
"Performance - 2.1 Your app crashed on iPad and iPhone running iOS
10.2 connected to an IPv6 network when we: 1. Launched app 2. Tapped"
The issue is that I cannot replicate the issue happening on my local machine (we use ipv4 at our offices) and the server is not IPv6.
I did some research and as of WWDC (2015), apps cannot be released into the store unless their APIS are on IPv6 server. However, I'm struggling to understand why this would cause the app to crash as it does work fine on my machine and on my device.
Is there a way that I can replicate the issue that apple are having? And could the issue that Apple are having be because of the IPv6 issue?
Had the same problem. Then figured out that my app did not handle the scenario when the push notification permissions were rejected by the user. So it is best to check if you are prompting users for any permission (when app initially start) and see if the app behaves as expected when these permission are Rejected. (My guess is that testers at apple usually declines these permission when they are testing)

Application crash at launch while downloading from test flight

After submitting the application for review I got a rejection saying that application crash on launch, I tested the same build through test flight and its crashing at launch but the same application works when running through Xcode in all devices irrespective of OS versions.
How can I debug the issue with the Testflight build? Anything missing while creating an archive for upload?
iTunes Rejection Details
Performance - 2.1
We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.
Next Steps
Please revise your app and test it on a device while connected to an IPv6 network (all apps must support IPv6) to ensure it will launch without crashing.
Resources
For additional information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks and Supporting IPv6-only Networks.
For a networking overview, please see About Networking.
I also got this issue of iPv6 from iTunes, because of nil value of device token when don't allow push notification alert ,so check some thing going nil on your side.

AppStore Rejection: IAP not Loaded (no network?)

My App displays Failed to Load in IAP interface When it can't access the network.
Is there something wrong with these words?
I don't know if they see this with network or without network. I have tested my app on different devices, but I haven't seen this when it can access the network.
Apple:
----- 2.2 -----
We found that your app exhibited one or more bugs, when reviewed on iPad running iOS 8.0.2 & iPhone 5s running iOS 8.0.2, on both Wi-Fi and cellular networks, which is not in compliance with the App Store Review Guidelines.
Specifically, your application failed to load In-App Purchases. Please refer to the attached screenshot(s) for more information.
Screenshot:
http://i.stack.imgur.com/QR83n.png
It turns out that It's because the IAP settings haven't been approved first. I doubted this and communicated to Apple then it's Ready for Sale now.
Maybe the IAP settings had been rejected before and I didn't know it. It need to be edited to Wait for Review again.

Resources