Geocoding et Reverse Geocoding en Swift

Geocoding

Comment obtenir une adresse à partir de coordonnées géographiques ? Et comment obtenir les coordonnées géographiques à partir d’une adresse ?

Voici (un des) problèmes auxquels je me suis frotté pour la réalisation de l’application KayakTracker…

Et cela se nomme le géocodage et le géodécodage (geocoding et reverse geocoding). Une recherche Google montre que cela est réalisable entre autres grâce à leur API Maps…

Mais Apple à également pensé à nous, et c’est cette méthode que je vais vous présenter.

Comme d’habitude, je m’appuie sur une petite application « POC » qui, une fois terminée, donnera cela :

Motivés ? C’est parti !

Lire la suite

API Charts tutoriel

Swift Charts Tutoriel

Je reprend la petite application utilisée pour le tutoriel sur HealhtKit afin de vous donner un aperçu des innombrables possibilités de l’API Charts.

L’API Charts à été développée par Daniel Gindi et peut être téléchargée sur Github. L’idée est de faciliter la vie des développeurs iOS / Swift pour la création de graphiques. Grâce à Charts, vous pouvez facilement créer des diagrammes, des courbes, des graphiques en barres, et plein d’autres types de graphiques pour représenter de manière visuelle des données.

C’est un peu un Excel pour développeurs. Par contre, tout comme celui-ci, l’utilisation nécessite un certain apprentissage, mais vous verrez, cela en vaut la peine !

Voici à quoi nous allons arriver :

HeartStatisticsWithChars.jpeg

Prêts ? C’est parti…

Lire la suite

HealthKit tutoriel : récupérer des données cardiologiques en Swift grâce à l’iPhone

Düsseldorf graphic Design Institute(1)

Cela faisait un petit moment que je n’avais pas publié de nouveaux tutoriel. Celui que je vous propose aujourd’hui est à la fois un tuto et une POC, qui va nous permettre d’aborder un gros morceau : HealthKit

Voici à quoi ressemblera notre appli terminée :

heartStatisitcs

 

HealthKit : Késako ?

Lire la suite

API or not API, that is the question…

API _ Application programming interface

Sous ce titre un peu… provocateur (la chaleur de ce mois d’août y est peut-être pour quelque chose 🙂 ), j’ai décidé de vous partager différentes ressources en ce qui concerne les APIs et Librairies que j’utilise ou suis susceptible d’utiliser pour mes développement d’applications mobiles.

Cet article est bien sûr destiné à être mis à jour régulièrement, donc n’hésitez pas à (re)venir y jeter un oeil de temps en temps !

Lire la suite

Programmation Swift : le mot-clé guard

GuardOrIf

Je ne sais pas pour vous, mais il m’a fallu un moment pour comprendre à quel moment il était préférable d’utiliser le mot clé « guard » à la place du couple « if / else » en programmation Swift.

En fait, c’est comme tout, lorsque l’on à compris… c’est hyper simple ! Mais avant 😦

Donc, la différence entre « if » et « guard » est un peu subtile, mais la voici : « guard » doit être utilisé lorsque une donnée doit être présente pour la bonne exécution de la fonction.

Bon, dit comme cela, c’est encore un peu flou, alors voici un petit exemple :

guard.png

Ici, il est nécessaire que les champs « name », « address » et « phone » soient remplis pour pouvoir exécuter la fonction « sendToServer ». Sinon, on affiche un message et on sort de la fonction (return). On aurait bien sûr pu faire la même chose avec des « if/else », mais avouez que cela aurait certainement eu un impact négatif sur la taille et la lisibilité du code !

En fait, on s’aperçoit vite qu’une grande partie des « if / else » peuvent êtres avantageusement remplacés par des « guard » ! Cela nécessite un peu d’entrainement au début (il faut réfléchir « à l’envers »), mais cela améliore nettement la lisibilité du code !

Donc, maintenant, plus de prétexte pour planter (dans vos codes…) des forêts d’Ifs !

 

 

Alamofire POST Tutoriel

Voici la suite de mon précédent tutoriel concernant Alamofire. Cette fois, on attaque la partie « POST ».

Pour cet exemple, j’ai créé une petite application de to-do, dont le source est sur gitLab : https://gitlab.com/vinceBar/MyToDoList

Autant il est relativement simple de trouver des API’s gratuites pour faire du GET, autant trouver des API’s ouvertes pour du POST est compliqué. D’ailleurs, si vous avez des infos là dessus, n’hésitez pas à me les mettre en commentaire ! J’ai cependant trouvé ce site : https://jsonplaceholder.typicode.com/ , avec plus d’infos ici : https://github.com/typicode/jsonplaceholder

Il en découle ceci : les ressources ne sont pas réellement mises à jour sur le serveur, mais celui-ci « fait comme si ». L’application d’exemple n’est donc pas pleinement fonctionnelle (vous ne pourrez pas réellement ajouter ou effacer de to-do), mais le serveur simulera l’action. Tout l’intérêt de l’application se trouve dans les méthodes utilisées pour gérer les différentes actions d’Alamofire.

Allez, entrons dans le vif du sujet !

Lire la suite