Tutoriel Swift : formatage de numéros de téléphones avec PhoneNumberKit

PhoneNumConverterExample

Dans le cadre de mon activité de freelance, j’ai récemment dû répondre à une offre dans laquelle il était demandé :

 

– De créer un champ texte intégrant un numéro de téléphone

 

– Ce champ texte devra formater le numéro de téléphone pour avoir le même affichage que dans l’appli « Contacts » d’Apple.

 

– Le formatage doit se faire dans les normes locales de chaque pays.

 

– Puis le numéro de téléphone doit, toujours en fonction de la localisation, être converti à la norme E164.

 

– L’utilisation de frameworks externes est autorisée.

 

– Forcément, il faut réaliser tout cela pour moins de 5 euros et en 5 mn 😦 …

 

Comme j’ai trouvé le challenge intéressant (et avec l’espoir de facturer à un tarif un peu plus décent…), je me suis penché sur la question.

La première option qui m’est venue à l’esprit est de partir d’une « page blanche », et de tout coder. Après tout, filtrer et formater des entrées utilisateur n’est pas bien compliqué.

Oui mais pour que cela fonctionne pour tous les pays, cela devient nettement plus gourmand en temps et en neurones…

C’est ainsi que j’ai découvert le génialissime framewok « PhoneNumberKit« 

Lire la suite

Tutoriel Swift : Initiation aux tests unitaires

skills-3371153_1920

« Tester, c’est douter ! », oui mais souvent, douter évite de grosses boulettes !!

C’est pour cela que j’ai décidé de publier une série de tutoriels sur les tests unitaires en programmation Swift.

Mais voyons en premier ce qu’est un test unitaire et quel est son but !

Lire la suite

Programmation Swift : iOS Developer Notes For Professionals

ios Dev Pros

Voici mon nouveau livre de chevet : iOS Developer Notes for Professionals !

Je crois que tout le langage Swift est abordé dans ce livre ! Cela va de la création toute simple d’une UIView au parsing de JSON, tout en passant par l’usage de des frameworks les plus utilisés (Fastlane…) et des designs paterns (MVC, MVVM…).

Bref, le top du top pour le développeur Swift !

Bon, finalement, le lire avant de s’endormir n’est pas forcément la meilleure idée, mais c’est le genre de livre à garder impérativement sous la main toute la journée de développement !

En plus, il est gratuit !

A télécharger (sans modération) ici :

iosDeveloperBook

Tutoriel Swift : la gestion des entrées utilisateurs sur une Apple Watch

ES-WatchOS

Comment récupérer une entrée utilisateur personnalisée (ex : un nom de fichier, un message…) sur une Apple Watch qui, comme vous l’avez sans doute constaté, ne possède pas de clavier ?

 

En fait, une fois de plus, c’est quelque chose de très simple à réaliser en Swift.

L’application Apple Watch que je vous propose en démo est très basique : lorsque l’utilisateur appuie sur le bouton « Get input », une liste de phrases pré-définies lui est proposée. En cliquant sur le micro, on lui propose de prononcer sa propre phrase. Celle-ci est ensuite récupérée et affichée dans un label.

Voici l’appli terminée :

 

Allez, on plonge…

Lire la suite

Tutoriel Swift : 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

Développement mobile : Soulageons la planète, programmons mieux !

Plaidoyer pour de meilleurs logiciels

Cette semaine, pas d’article technique (quoi que…), mais plutôt un partage : l’excellent article de Nikita trouvé sur son blog tonsky.me à propos de l’obésité informatique : http://tonsky.me/blog/disenchantment/

Ne vous êtes jamais demandé pourquoi il fallait toujours plus de puissance à nos ordinateurs pour effectuer grosso-modo les mêmes tâches?

Windows 95 était à l’aise avec 30 Mo de Ram, Windows 10 veut 4 GO… quasiment 133 fois plus… Est-il pour autant 133 fois meilleur ?

Comment se fait-il qu’il faille 15 mn pour l’installer sur une machine, et 30 mn pour qu’il se mette à jour sur la même machine ?

L’affichage d’une page web nécessite de plus en plus de puissance… mais avons nous vraiment gagné en ergonomie et en confort pour autant ? Quand on voit ce qu’est devenu Facebook, on peut légitimement se poser la question.

La moindre application iOS ou Android crée des centaines de fichiers avant même que nous ayons écrits la première ligne de code !

Peut être que le temps du programmeur coûte plus cher que le temps machine… en Euros ou en Dollars. Mais a-t-on pensé au coût écologique de milliards de machines gaspillant des ressources ?

Je pense qu’il est de notre devoir en tant que développeur de créer du code non seulement ré-utilisable et facilement débogable, mais aussi et surtout efficace et optimisé !

Bref, du code écologiquement responsable !

Tutoriel Swift : l’API Charts

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