banner

Afficher les fichiers invisible

Création d'un logiciel avec Xcode sous Swift 5
Mardi 22 septembre 2020 à 12:22
J'ai créé il y a plusieurs années un petit programme nommé inVisible permettant, sur mac, d'afficher ou masquer facilement les fichiers invisible.
Ce n'est pas grand chose, en gros, sans l'interface graphique, il s'agit de deux commandes Terminal (connues des initiés), mais les outils sans le terminal pour faire cela, sont assez lourd, et nécessitent souvent un mot de passe administrateur, alors qu'il s'agit d'un réglage utilisateur.
Je vais tenter ici de faire mon premier tuto pour expliquer mon portage de mon logiciels sous Xcode en swift 5 !
C'est un grand pas pour moi, et je vais ouvrir ici les commentaires car je débute en swift, et je vais surement faire des erreurs !
Mon projet fonctionne sur mes appareils, mais semble ne rien faire sur d'autres machines de tests (je vais tenter en reprenant cet article de mieux comprendre pourquoi).
Tout d'abord les fameuses deux lignes de code. La première permet d'afficher ou de masquer les fichiers invisibles : default showallfiles com.apple.finder.plist true
La valeur true à la fin sera bien sûr remplacée par false pour masquer à nouveau les fichiers.
La deuxième commande consiste à masquer un fichier ou dossier utilisateur avec un glissé/déposé de celui-ci sur une zone du programme, nous utiliserons ici les drapeaux flags.
Bien sûr, pour voir le résultat de ces deux commandes, il faudra relancer le Finder, ce qui aura pour conséquence d'arrêter toutes les actions en cours (copies de fichiers par exemple). killall Finder
L'interface du programme est à l'origine une simple fenêtre avec un bouton pour afficher ou non les éléments, et une zone de dépôt.
Je m'interroge toujours sur la meilleure interface à avoir pour l'intéraction, et je me dis qu'une petite icône dans la barre des menus avec par exemple un clic droit dessus pour afficher/masquer, et un clic normal pour avoir les réglages (relancer automatiquement le Finder ou non, lancer au démarrage, etc) et la possibilité de déposer un fichier serai plus sympa (même si plus complexe pour moi à réaliser).

Le reste est en cours de rédaction...