PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Connexion Webservice impossible IOS
Connexion Webservice impossible IOS
Débuté par Laurent A., 15 nov. 2018 14:26 - 10 réponses
Membre enregistré
113 messages
Posté le 15 novembre 2018 - 14:26
Bonjour,
Je sèche !
J'ai une appli qui envoi à un webservice (que j'ai mis en place) un login et un mot de passe pour récupérer l'ID d'un client.
Jusque là c'est simple et tout fonctionne correctement en mode GO (test) android et IOS, tout fonctionne aussi sur les modes simulation de WDM, également sur le device Android, cependant lorsque je lance un test sur Iphone après l'avoir envoyé sur le compte dév de Apple (testfligth), l'application ne récupère pas l'ID, soit la connexion n'est pas possible, soit le retour du webservice est illisible. j'ai un retour erreur !
Franchement, je ne comprends pas d'ou peux venir le problème !
J'ai tenté avec une connexion directe au Serveur BDD HFSQL, c'est la meme chose.
Faut-il un timeout plus long ?
Une connexion https ?
Je ne vois pas comment avancer j'ai l'impression de tourner en rond, de plus je ne trouve rien dans le forum qui évoque ce genre de problème, je dois être NULL :D
Du coup mon appli est continuellement refusée par les services d'Apple. (Pour précisions, auparavant l'application fonctionnait parfaitement.)
Merci d'avance à ceux qui pourront me sortir de cette impasse.;)
Posté le 16 novembre 2018 - 10:55
Laurent A. a écrit :
Bonjour,
Je sèche !
J'ai une appli qui envoi à un webservice (que j'ai mis en place) un login et un mot de passe pour récupérer l'ID d'un client.
Jusque là c'est simple et tout fonctionne correctement en mode GO (test) android et IOS, tout fonctionne aussi sur les modes simulation de WDM, également sur le device Android, cependant lorsque je lance un test sur Iphone après l'avoir envoyé sur le compte dév de Apple (testfligth), l'application ne récupère pas l'ID, soit la connexion n'est pas possible, soit le retour du webservice est illisible. j'ai un retour erreur !
Franchement, je ne comprends pas d'ou peux venir le problème !
J'ai tenté avec une connexion directe au Serveur BDD HFSQL, c'est la meme chose.
Faut-il un timeout plus long ?
Une connexion https ?
Je ne vois pas comment avancer j'ai l'impression de tourner en rond, de plus je ne trouve rien dans le forum qui évoque ce genre de problème, je dois être NULL :D
Du coup mon appli est continuellement refusée par les services d'Apple. (Pour précisions, auparavant l'application fonctionnait parfaitement.)
Merci d'avance à ceux qui pourront me sortir de cette impasse.;)


Si tu ne disais pas qu'auparavant l'appli fonctionnait correctement, j'aurais parié sur le problème classique de conversion unicode/ansi. En fait tous les symptômes que tu décris tendent vers ça. Dans tes dernières modifs n'as tu pas tenté de passer ton projet en ANSI, ou en unicode ?
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 16 novembre 2018 - 11:45
Bonjour Gilles,
En fait ce qui m'étonne c'est que lorsque je télécharge l'appli pour que les béta testeurs la teste avec Testfligth, ca fonctionne, du moins sur mon Iphone 5s ca marche, mais le service de vérification de Apple, me refuse l'appli car la connexion ne se fait pas.
Ca semble problèmatique depuis que apple est passé en 64bit pour les appli.
Je me demande si ce n'est pas parce que mon Iphone de test est vieux (Iphone5s) et que sur les derniers iphone cela pose problème ?
Sinon, je vais essayer de bien convertir les données envoyées en Ansi ou unicode ?

Merci
Laurent.
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 16 novembre 2018 - 16:52
Il semble que ce soit un problème IPV6 le serveur qui heberge le webservice n'est peut-etre pas compatible ???
Je trouve ca bizarre.
Voici le message de refus du service d'apple.


Guideline 2.1 - Performance - App Completeness
We discovered one or more bugs in your app when reviewed on iPad running iOS 12.1 on Wi-Fi.

Specifically, after entering the credentials we had an error message. Because of this reason, we could not access and review the app.

Next Steps

To resolve this issue, please run your app on a device to identify any issues, then revise and resubmit your app for review.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

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

Resources

For information about testing your app and preparing it for review, please see Technical Note TN2431: App Testing Guide.

For a networking overview, please review About Networking. For a more specific overview of App Review’s IPv6 requirements, please review the IPv6 and App Review discussion on the Apple Developer Forum.
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 16 novembre 2018 - 16:53
Bonjour,

Ta connexion vers ton serveur est via une ip ou une url ?

Jordan
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 16 novembre 2018 - 17:04
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 16 novembre 2018 - 17:07
Ton application est connecté a ton analyse ? si oui via une ip ou nom de domaine ?

tu as creer ton webservice dans le meme projet que ton application ?
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 16 novembre 2018 - 17:12
Mon appli se connecte à un webservice avec une url (voir plus haut) et récupère les données à traiter dans l'appli, mais je n'ai pas besoin de BDD avec l'appli, les données restent dans un tableau de structures.
Le web service n'est pas directement associé à l'application l'application s'y connecte par une url.

oRequêteAPCliente est une httpRequête
oRéponseAPoRequêteAPCliente est une httpRéponse

oRequêteAPoRequêteAPCliente ..URL = "https://machin.com/Listeclient/"+gnIDClient+"/"+DateSys()
oRequêteAPoRequêteAPCliente ..Méthode = httpGet

// Exécute la requête et récupère la réponse
oRéponseAPoRequêteAPCliente = HTTPEnvoie(oRequêteAPRequêteAPCliente)
TableauSupprimeTout(TabAP)
Désérialise(TabAP,oRéponseAPRequêteAPCliente..Contenu,psdJSON)
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 16 novembre 2018 - 17:36
il faudrai que tu rajoute une gestion d'erreur sur ton deserialise,

Apple est fourbe parce qu'il font des tests de non connexion également,

Donc ton deserialise genere une erreur parce qu'il ne peut pas deserialiser une chaine vide

QUAND EXCEPTIONEXCEPTION DANS
Désérialise(TabAP,oRéponseAPRequêteAPCliente..Contenu,psdJSON)
FAIRE
Erreur("Vous devez etre connecté")
FIN


Jordan
Message modifié, 16 novembre 2018 - 17:37
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 16 novembre 2018 - 17:38
Ok je vais essayer ca et j'essaie un autre prestataire.
Membre enregistré
25 messages
Popularité : +2 (2 votes)
Posté le 16 novembre 2018 - 17:46
Sans avoir rien changé, Apple vient de l'accepter ! alors qu'ils l'avait refusé en début d'aprem !
IL sont un peut (XXXXX)} Bizarre ! :(
Merci quant même à tous ceux qui m'ont apporter des pistes de réflexions, cela dit, je vais mettre en place la gestion des erreurs, tu as raison !
Laurent.