Xcode theme pour Swift

< xcode swift >

Je crois avoir essayé à peu près tous les thèmes que l'on peut trouver pour Xcode, mais aucun ne me convenait vraiment pour Swift.

Donc j'ai fait le mien, que je partage avec vous aujourd'hui.

C'est un thème reposant pour les yeux tout en offrant de bons contrastes et des couleurs immédiatement identifiables.

Lire la suite

Une WKWebView compatible avec macOS El Capitan et Sierra

< osx cocoa swift >

J'ai récemment découvert à mes dépens qu'une WKWebView créée avec Interface Builder dans Xcode 8.3 marche très bien dans macOS Sierra (10.12) mais crashe abominablement dans macOS El Capitan (10.11).

En effet, le composant WKWebView utilisable dans l'Interface Builder de Xcode 8.3 n'existe pas dans El Capitan… mais Xcode ne le dit pas.

Quand votre app est lancée dans Sierra, le xib est instancié, mais pas dans El Capitan, ce qui entraîne un crash.

Voici la solution.

Lire la suite

Monsieur Météo, suite : interface graphique

< tutoriel swift cocoa osx >

Nous allons utiliser notre précédent code et l'inclure dans une mini application pour OS X.

Une simple petite fenêtre que l'on peut garder dans un coin de l'écran et qui indique le temps qu'il fait à l'endroit où se trouve votre machine.

En ajoutant la géolocalisation et une icone à notre ancien projet on obtient tout de suite quelque chose d'intéressant tout en restant simple à développer.

Lire la suite

Monsieur Météo en Swift

< swift osx dossier tutoriel >

Dans ce tutoriel, nous allons nous amuser à écrire vite fait une mini application météo !

Une simple application qui dit, pour ceux qui n'ont pas de fenêtres dans leur pièce, la température qu'il fait dehors, le vent et sa direction, s'il y a des nuages, s'il pleut, etc. ;)

Pour rester dans le domaine du faisable dans le cadre de ce tutoriel, notre app va simplement écrire le résultat par texte, on ne fera pas d'interface graphique.

Pas de géolocalisation non plus, on tape soi-même le nom de la ville - toutes ces fantaisies seront pour un autre article, il y a déjà beaucoup à faire avant d'en arriver là.

Lire la suite

Qu'est-ce qu'un "delegate" ?

< swift tutoriel >

Qu'est-ce qu'un “delegate” ?

On retrouve le principe de la délégation partout dans OS X et iOS.

Un champ de texte, par exemple, prévient son potentiel délégué que l'utilisateur est en train de taper du texte, a fini de taper, etc.

Ceci dit, est-il utile d'implémenter nous-même la délégation dans nos objets ? Et comment fait-on ?

On va s'amuser à explorer quelques exemples, purement en Swift, rapidement, dans un simple Playground.

Lire la suite

Les extensions avec Swift 2

< swift >

Quand on manipule des données on a historiquement le réflexe de créer des fonctions globales, ainsi que d'utiliser des boucles, pour manipuler des collections telles des array.

Avec Swift 2, grâce aux extensions, nous allons voir qu'il est facile de se créér des collections dont le comportement est personnalisé, et que l'on n'a pas besoin de boucles ni de fonctions globales.

Le code est plus simple d'usage, expressif, et bien évidemment très puissant, c'est l'intérêt.

Extend all the things!

Lire la suite

Accéder à CoreFoundation avec Swift

< swift c objective-c osx >

Si je veux que mon application obtienne les icones des volumes actuellement affichés dans la barre latérale du Finder, ou encore obtenir la liste des dix dernières applications lancées par l'utilisateur, ce genre de chose, je dois faire appel à CoreFoundation et à ses étranges API en C.

Mais accéder aux API CoreFoundation d'OS X avec Swift n'est pas vraiment intuitif.

C'est que ces API sont très différentes des API modernes, et il est souvent necessaire d'étudier la documentation en profondeur… quand elle existe.

Ensuite il faut s'adapter à la gestion de la mémoire qui est différente, ainsi qu'inspecter un peu partout pour trouver les signatures des méthodes, le type des objets…

On va étudier un exemple concret en détail, et en profiter pour lister quelques astuces.

Lire la suite

Glisser/déposer une image avec Swift

< swift cocoa >

Avec Swift et Cocoa, le pouvoir dont on dispose en seulement quelques lignes de code est impressionant.

Un mécanisme typique d'OS X est le “drag & drop” (“glisser/déposer”) : avec la souris ou le trackpad, on attrape un fichier image à partir du Finder et on le dépose sur la fenêtre d'une application, et l'image apparaît instantanément dans l'application, donnant à l'utilisateur la sensation d'avoir effectué un geste naturel.

Nous allons créer en quelques minutes une micro application pour démontrer ce principe.

Article mis-à-jour le 2015-06-12.

Lire la suite

De bien belles boucles avec Swift

< swift >

Aujourd'hui nous allons voir plusieurs façons de boucler dans une structure de données en Swift : une méthode héritée du C, une méthode qui rappelle Ruby, et une autre façon Programmation Fonctionnelle.

Nous verrons des exemples avec tableaux (Array) et dictionnaires (Dictionary), et en profiterons pour visiter les “tuples”.

Article mis-à-jour le 2015-06-11.

Lire la suite

Swift pour OS X

< osx swift tutoriel >

Aujourd'hui nous allons créer une minuscule application pour Mac OS X avec le nouveau langage de programmation d'Apple, Swift.

Ce que fait cette app est anecdotique : encode du texte vers de l'alphabet OTAN ou décode de l'alphabet OTAN vers du texte.

Mais c'est un bon support car le principe est facile à comprendre et la mise en oeuvre est également très simple, bien que la route à suivre soit longue et tortueuse.

Idéal donc pour un p'tit tuto et une introduction à cet univers…

Article mis-à-jour le 2015-06-11

Lire la suite

Swift : astuces

< swift cocoa astuce >

Voici quelques astuces pour développer avec Swift et les API d'Apple :

Cet article n'est pas un tutoriel, la liste d'astuces est présentée hors contexte. C'est simplement un pense-bête accessible, en français, pour ces fonctions.

Article mis-à-jour le 2015-06-11

Lire la suite