Droits et accès iOS11/12/13

Bonjour à tous,

Apparement depuis iOS11/12 ou 13 (je ne sais pas laquelle) on ne pourrait plus rediriger l’utilisateur vers les paramètres généraux de l’iPhone depuis une application mais uniquement vers les paramètres de l’application en question. Techniquement je l’ai codé et ça fonctionne mais lors de la soumission au Store le build de l’app serait refusé par Apple.
Autre chose, est-il possible d’afficher la liste des réseaux que capte le télephone dans mon application ? Et est-il également possible d’afficher uniquement le dernier réseau connu auquel s’est connecté mon iPhone ? Il me semble que non mais j’en suis pas sur.

En savez-vous davantage sur ces questions et sauriez vous où je peux trouver des réponses ?

En vous remerciant,

Astro :slightly_smiling_face:

Salut @astro,

effectivement officiellement tu dois utiliser cette constante d’URL pour être sûr que ça fonctionne : https://developer.apple.com/documentation/uikit/uiapplicationopensettingsurlstring

Si tu as utilisé autre chose, il est possible que tu entres dans le cadre d’une API non documentée et tu t’exposes à plusieurs risques :

  • Apple peut refuser ton app, si ils s’en rendent compte*
  • Ils peuvent modifier le code non documenté sur lequel tu te bases dans les futures versions de iOS et ton app risque de récupérer des bugs

Je ne sais pas exactement pourquoi tu veux envoyer l’utilisateur sur cette page mais sache qu’il existe des API spéciales pour diriger l’utilisateur vers certains réglages (Wifi, Bluetooth, etc.).

* A chaque nouvelle mise à jour ils peuvent le découvrir, même si ils ne l’avaient pas vu lors des anciennes publications

Salut Maxime et merci de ta réponse.

J’ai justement utilisé cette constante pour rediriger l’utilisateur vers les settings de l’app. Mais du coup, il doit ensuite naviguer de lui même pour arriver jusqu’au paramètre WiFi (ce qui n’est pas ouf en terme d’UX).

Mais à la base, je voulais rediriger l’utilisateur depuis l’app vers les paramètres WiFi de l’iPhone, hors j’ai lu que si je fais ça Apple rejettera le build puisque c’est une API privé. Pourquoi ces APIs privés sont visible si on ne peut pas les utiliser ? Pourquoi certaines applications tel que Xiaomi Home peuvent renvoyer directement vers les settings WiFi sans se faire rejetter par Apple ?
Dernière question, est-ce que l’on peut connaitre le réseau WiFi sur lequel l’iPhone est connecté ?
Voici le lien stackOverflow qui en parle ci-dessous :

Ces api sont présentes car elle sont utilisées par le système ou les apps d’Apple. Apple demande de ne pas les utiliser pour plusieurs raisons (ils veulent pouvoir les modifier sans préavis, elles sont instables, elles peuvent déranger l’utilisateur, etc.).
Comme je te le disais tu peux toujours tenter et si ça se trouve ça marchera sans problème, mais rien n’est garanti.
Pour accéder aux infos du réseau wifi c’est devenu très compliqué depuis iOS 13, il y a une seule fonction à appeler mais ton app doit avoir plusieurs droits d’accordés par l’utilisateur (accéder aux réglages wifi, accéder à la géolocalisation et avoir un profil VPN d’installé). Voici le lien vers la doc officielle : https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo

Merci beaucoup pour ces réponses !

1 J'aime