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

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

Déplacer le disque de stockage de Virtualbox

< osx astuce >

Cela peut paraître surprenant, mais on ne peut pas simplement déplacer ou copier manuellement le fichier qui représente le disque dur d'une machine virtuelle.

Il faut passer par une petite manipulation : suppression des éventuels snapshots, copie du fichier virtuel avec un outil fourni, puis configuration de la machine pour le nouvel emplacement.

En fait c'est très simple, suivez le guide !

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

Mettez votre Git à jour

< securite osx cli >

Si vous êtes développeur, quels que soient le language et les outils que vous utilisez, vous faites du “version control”.

Et bien qu'il existe d'autres solutions, Git est de nos jours le choix le plus répandu.

Une importante faille de sécurité a été découverte dans Git récemment.

Il est important de faire la mise-à-jour, mais j'en avais assez des manipulations avec les installeurs, donc je suis passé à la version donnée par Homebrew.

Lire la suite

Astuce dictionnaire OSX

< osx astuce >

Petite astuce en passant à propos de l'application Dictionnaire pour Mac OS X Mavericks, une application méconnue mais qui s'est grandement améliorée depuis quelques versions.

Lire la suite

Mavericks et GCC, Homebrew, Ruby, etc

< osx terminal apps >

Après avoir mis à jour OS X avec Mavericks, j'ai bien sûr constaté une amélioration générale des performances, comme tout le monde, mais j'ai aussi rencontré quelques bugs notamment avec gcc, Homebrew et les Ruby gems.

Je partage ici mes solutions.

Lire la suite

Flux RSS

< web osx ios dossier tutoriel >

Le Web est en effervescence ces jours-ci.

En effet, Google Reader, l'incontournable gestionnaire de flux RSS, fermera ses portes le 1er Juillet 2013.

Nous allons donc devoir choisir de nouveaux prestataires et/ou de nouvelles applications.

Mais avant tout, et en urgence, il vous faut sauvegarder votre liste d'abonnements en l'exportant de votre compte Google.

Lire la suite

Podcasts

< podcasting ios osx culture >

J'écoute désormais régulièrement certains podcasts anglophones.

J'y retrouve le plaisir d'écouter des personnalités diverses s'exprimer avec liberté sur des sujets qui m'intéressent vraiment.

Une fois passée la barrière du langage, qui peut être intimidante, ces podcasts s'avèrent être une mine d'informations, de crises de fous rires et de renseignements utiles.

Voici donc ma sélection actuelle, un peu plus détaillée que précédemment.

Lire la suite

Réparer un fichier ZIP ou RAR

< osx astuce terminal >

Il peut arriver qu'un fichier d'archive, .zip ou .rar, soit endommagé lors de son transfert.

Un serveur buggé, une copie FTP mal terminée, de nombreux passages sur des filesystem différents : il y a de nombreuses occasions d'abîmer un fichier compressé contenant des informations sensibles.

Vous double-cliquez sur un fichier d'archive et vous obtenez un message d'erreur du type Fichier corrompu, impossible d'extraire le contenu de l'archive.

Tout n'est pas perdu !

Lire la suite