Application refusée
Bonjour,
J'ai soumis mon application vendredi dernier et je viens de voir qu'Apple l'a refusé et je ne comprends pas pourquoi..
La première fois, il avait un problème pour se connecter via le login et mdp que je leur avait fournit (il n'avait pas rempli l'url du serveur que je leur avis fournit via la soumission de l'app..donc ils avaient une erreur explicite qui leur disait de remplir l'url du serveur..).
Je re-soumet l'application et là je me retrouve avec ce message :
De : Apple
- 2. 1 PERFORMANCE: APP COMPLETENESS
Hello,
Thank you for your resubmission. However we still observed the previously stated issues within your app.
Performance - 2.1
Your app still crashed on iPad and iPhone running iOS 10.2.1 connected to an IPv6 network when we attempted to log in.
This occurred when your app was used:
- On Wi-Fi
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 that it runs as expected.
Resources
For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing Application Crash Reports.
For information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks and About Networking.
Additional Information
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
Best regards,
App Store Review
J'ai donc lu leur logs mais ce n'est pas clair du tout..
J'ai uploader les 2 fichiers ici : https://www.dropbox.com/sh/ddvmoqurmwlcam4/AAA3ldezfWWwo_5jnKEpA-b-a?dl=0
Si quelqu'un peut m'aiguiller, ce n'est pas de refus
Merci de votre aide ^^
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Es-tu sûr que tu as symbolysé tes crashs ?
Qu'est ce que ça veut dire ?
// Edit :
Juste pour info, l'application fonctionne parfaitement bien sur mon iPhone de test.
Elle a été faite sur le même modèle qu'une autre application qui a été validée sur le store, du coup c'est pour ça que je ne comprends pas leur refus
C'est cette partie là de leur réponse :
En bref, le crashlog est "anonymisé", et seul celui qui a produit l'application peut la rendre compréhensible en symbolisant le crash log, de manière à avoir un log identique à celui que te donnes XCode quand tu as un crash, avec un belle callstack.
et concrètement, comment je symbolise le crash log ?
J'ai essayé quelques trucs mais ça ne fonctionne pas.. j'suis pas sûr de bien m'y prendre
As-tu essayé les infos dans leur lien ?
Je viens de refaire le truc pour symboliser, je me retrouve avec ça : https://www.dropbox.com/s/e93csvo71l3gkhy/crash%20symboliser.txt?dl=0
Est-ce-qu'il à l'air bien symboliser pour toi ?
Oui.
Tu es passé de
à
C'est déjà beaucoup.
Fais-le pour les deux. J'suis pas forcément bon dans ce domaine, mais :
ViewController.Connexion() -> Bool (ViewController.swift:232) semble être celle qui fait merder.
Alors, aurais-tu le code de ViewController, notamment la méthode Connexion()?
Potentiellement, elle a pris un paramètre quelque part qu'elle n'a pas aimé.
Oui, on voit clairement que l'appli a planté dans le processus IremosMessenger, à la ligne 232 de ViewController, méthode Connexion().
Merci, je vais continuer à fouiller par là ..
Par contre je ne comprends pas comment ils peuvent faire planter ça.. lorsque j'essaie avec le compte de démo que je leur ai fait, tout fonctionne bien..
Fais voir le code.
Le code de ? Toute la fonction Connexion() ?
Ou juste la ligne 232 ?
(J'ai fais un peu de ménage dans le code et j'ai reuploader sur iTunes Connect.. j'attends de voir si le soucis persiste..)
Oui, la fonction Connexion() a priori.
Ma fonction renvoi un booléen et elle est utilisée dans shouldPerformSegue()
Quelle est la ligne 232? Parce que c'est un gros pâté à décortiquer.
La ligne 232 est celle la :
J'ai re-soumis l'application hier et dans la nuit, même erreur.
Toujours la ligne 232.
Voici le message qu'Apple m'a mis dans le centre de résolution des problèmes :
ils me parlent aussi d'ipv6 mais j'ai rien qui parle d'ipv4 dans mon code..
Surtout que cette partie là (la page de connexion), elle est déjà utilisée dans une autre appli et elle a été validée sans problème sur le store.
ça m'est déjà arrivé d'avoir une erreur parlant d'IPV6 et ce n'était pas lié.
Cependant, avec cette ligne :
Que se passe-til si la valeur est nil? String(nil), ça crash? valueNilAvecUnPointDExclamation!, ça crash ?
A mon avis ça doit surement crasher MAIS ce n'est pas le cas.. le token était bien remplis vu qu'il s'est mis à jour dans ma bdd ^^
Donc il était pas vide et ça n'a pas généré d'erreur à cause de ça.. d'où ma surprise quand ils me disent que le soucis vient de cette ligne
Comment tu sais qu'il s'est mis à jour dans ta DB ?
Si t'es déterminé à pousser ton application sur le store, je pense que tu devrais quand même ne pas utiliser "!". ça te coûte rien de regarder si la valeur existe sinon de gérer le cas où elle est inexistante.
Pour utiliser notre application, il faut renseigné un serveur distant et il faut avoir un compte.
J'ai été vérifier que le token avait été mis à jour dans la bdd et c'est le cas ^^
En effet, ça mange pas de pain ^^
Mais j'pense pas que ce soit à cause de ça que ça bloque non plus nan ?
Nous sommes 3 à penser que TokenNotificationIOs est nil.
Comment je vois les choses: une ancienne version ou un autre cas a bien fixé la clef TokenNotificationIOs dans les User Defaults. Mais quand on teste avec une installation toute neuve, ce n'est pas le cas.
Commence par virer l'application sur ton simu, ce qui effacera ses User Defaults et reteste. Je pense que tu vas avoir une surprise.
C'est c'que j'ai fait.. en fait il y a le cas où la personne refus les notifications.. J'avais pas testé ça..
Je fais donc un test maintenant si la valeur existe (au lieu du !)
J'ai renvoyé l'appli pour vérification, on verra bien ^^
Merci en tout cas
Bon bah l'application à été validée cette nuit, c'était bien cette ligne qui foutait le bordel..
Ce qui est étrange c'est qu'elle a été validée dans une autre application.. bref pas grave, c'est réglé ^^
Merci
Rassuré ?
Oui rassuré ^^
Puis ça m'aura au moins appris à lire les logs de crash qu'Apple renvoi
C'est en forgeant qu'on se brise les doigts devient forgeron !