0

A few days ago, Apple rejected my app, indicating that it didn't have IPV6 support, however I don't need that support since my app does not require internet access.

I asked the following:

Hi, my app does not need any internet connection yet. So, why it's required to have support to IPV6?

They said:

Thank you for your response and for your question. In order to bring your app into compliance with Guideline 2.1 it would be appropriate for your app not to crash when logging in.

end

So, why do I need that Support? If is necessarily, how do I can do it?

Please I need help

rmaddy
  • 314,917
  • 42
  • 532
  • 579
Gilko
  • 69
  • 1
  • 5
  • 3
    The real reason is your app crashed when reviewing. – Yun CHEN May 25 '17 at 02:40
  • 2
    It's so weird that your app has login function without internet connection. – Yun CHEN May 25 '17 at 02:46
  • Fix the crash is what they are really saying. They have indicated that they think it is trying to communicate with an external database (ie a database that is not on the device). If there is no external database, just fix the crash. If there is, you need to handle the case for no internet access. – App Dev Guy May 25 '17 at 02:47

1 Answers1

0

Test your app extensively and fix the crash. Enter wrong values, don't enter anything at all, intentionally try to break your app and get it to crash. Then you will find your error and you can fix.

EDIT BASED ON COMMENT BELOW

"My app don`t need conect with external database, because I got the information inside" - in this case, no, you do not need to add IPv6 support because you are not communicating with the internet for logging in purposes.

You can keep the login given it is only going to be 2 people using the app, just resolve the crash when logging in.

To test, enter a variety of incorrect passwords and usernames to ensure that there is no crash on incorrect entries, and confirm that correct entries do not crash the app.


Original Answer

Apple indicated that because there is a login feature, they think it is trying to communicate with an external database (ie a database that is not on the device). If there is no external database, just fix the crash is what they are asking.

Based on your question, you have eluded to the app not communicating externally for logging in. While some may find this odd, it is not uncommon. An example for those wondering would be a childrens app for iPad. The iPad might be shared amongst several children and as such each child might complete different sections or features of the app so an account local to the device is a good idea if there is no cloud support.

If there is external communication, you need to handle the case for no internet access. The question has been answered extensively, however this was the first result I found:

Detect Internet Connection and display UIAlertview Swift 3


Update: Why do I need to Support the case for no internet connection?

A use case:

John has just downloaded your app. He has just walked through the steps to create an account, but he has accidentally set his device to Aeroplane Mode.

John hits the "Create Now" button but nothing is happening. There is no error or success alert appearing, the screen has not changed, he can't see a loading icon. John is confused and getting frustrated because he's certain that he has completed everything in the form.

John doesn't understand that he needs internet connectivity to successfully submit a request to create an account. John decides to delete your app from his device and leaves a bad review.

John really could have used an alert saying "You need internet connection to sign up to this app. Please check you are connected and try again". This would have made John a whole lot happier and he probably would have continued to use your app with all of it's amazing features.

More information can be found in the guidelines that Apple mentioned, and further to this, the Apple Design Principles Guide is an invaluable resource.

I hope this makes sense.

App Dev Guy
  • 5,396
  • 4
  • 31
  • 54
  • 1
    Hi Thank you so much. your explanation its very good The reason for loggin is because I got some information there. Just two people will loggin, and they have a user and password. The user name and de password is inside, in the code. So, I need a framework for support IPV6? or just remove the loggin mode? I can´t do that, my information is private. My app don`t need conect with external database, because I got the information inside. Thanks – Gilko May 25 '17 at 03:41
  • Thanks man! I really appreciate your time. Now apple say: Your app crashed on iPad and iPhone running iOS 10.3.1 connected to an IPv6 network when we: - attempted to sign in to your app with the provided demo credentials. This occurred when your app was used: - On Wi-Fi We have attached detailed crash logs to help troubleshoot this issue. (I just read this) – Gilko May 25 '17 at 04:06
  • @Gilko It would be worth attaching the crash logs they have provided. In the view the comes after logging in, is there an immediate connection to the internet that fetches data or a website? If so, you need to add the alert to be connected to the net. Based on the information you have provided this seems more likely to be caused by a small error in your code when logging in; a string is null, the subsequent view is trying to check a value before logging in that is null, but like a null value causing the crash. – App Dev Guy May 25 '17 at 04:11
  • http://a1402.phobos.apple.com/us/r30/Purple111/v4/44/46/5e/44465e7e-e507-7d79-710f-1b996306418a/attachment-7841738930683864552crashlog-93379B14-6053-458C-B746-615BF92FEDDC.txt?downloadKey3=1495879234_26a9cc0c1ea959a8540599d42344c64b – Gilko May 25 '17 at 04:18
  • http://a1342.phobos.apple.com/us/r30/Purple111/v4/aa/94/be/aa94bea3-05a0-64b1-c65f-d053eaca2424/attachment-8623393085029442779crashlog-F5910A4F-B9FE-4A27-B5B8-354B09744A78.txt?downloadKey3=1495879234_4c97efc7f877dedd288e7729ae51a186 – Gilko May 25 '17 at 04:19
  • Add the crash information. I really appreciate your help. I`m just an empiric "Developer" – Gilko May 25 '17 at 04:21
  • @Gilko my answer remains the same - fix your crash and you don't need the internet support alert if you are not communicating externally. **Fix your crash** is the way to resolve your issue. – App Dev Guy May 25 '17 at 04:22
  • Ok, I will do it! at leats I will try! – Gilko May 25 '17 at 04:23
  • @Gilko congratulations and you're welcome. Glad I could help. – App Dev Guy May 26 '17 at 14:37