Vincent Tourraine
Blog

Tous les billets iOS

MiXiT 2024

La nouvelle Ă©dition de MiXiT aura lieu les 25 et 26 avril. Et, comme chaque annĂ©e, c’est l’occasion de mettre Ă  jour mon application iOS/iPadOS/macOS.
#dev #iOS #macOS

AcknowList : affichage des licences avec l’API GitHub

Ma bibliothĂšque AcknowList est partie d’un modĂšle simple : afficher le contenu des licences CocoaPods. Plus tard, j’ai ajoutĂ© le support de Swift Package Manager. Petit problĂšme : SPM ne gĂšre pas explicitement les licences, juste l’URL oĂč se trouve le code. AcknowList 3.1.0 amĂ©liore cette situation grĂące Ă  l’API GitHub.
#dev #iOS #UIKit #SwiftUI

Copier le contenu d’une UITableView

Sur un site web, on peut sĂ©lectionner et copier n’importe quel texte. Sur une application, c’est plus limitĂ©. Pourtant, ça me semble important de laisser un maximum de contenu copiable.
#dev #iOS

Diminuer l’empreinte carbone de l’iPhone

Apple vise la neutralitĂ© carbone pour 2030. C’est formidable, mais c’est surtout un leurre. Rien ne peut « compenser » l’impact colossal de la fabrication de centaines de millions d’iPhone.
#iOS

Nano Notes avec titres formatés

Nano Notes est une application trÚs simple. Un écran avec la liste des notes et un écran pour modifier une note. CÎté code, ça donne une UITableView et une UITextView.
#dev #iOS

Partager/copier une URL avec Catalyst

Quand on partage une URL avec UIActivityViewController, iOS propose de la copier dans le presse-papiers. Rien de plus normal. Mais si on compile ce mĂȘme code pour macOS avec Catalyst, cette option n’est pas proposĂ©e.
#dev #iOS #macOS

MiXiT 2023 avec SwiftUI

J’avais complĂštement oubliĂ© MiXiT. Ça fait pourtant huit ans que je maintiens mon application, mais cette fois, j’avais oubliĂ©.
#dev #iOS #macOS

Mise Ă  jour PlayGuide pour le printemps

Ce week-end marque le dĂ©but des vacances de printemps. L’occasion idĂ©ale pour mettre Ă  jour PlayGuide, notre annuaire des aires de jeux pour enfants.
#dev #iOS #macOS

Bibliothùque de Grenoble : au revoir l’API

DĂ©velopper une application basĂ©e sur une API qu’on ne contrĂŽle pas est une source d’inquiĂ©tude permanente. C’est le cas avec mon application pour la BibliothĂšque Municipale de Grenoble.
#iOS #dev

Application PlayGuide

Depuis plusieurs annĂ©es, j’avais envie de crĂ©er une application pour trouver les aires de jeu autour de chez moi. L’application PlayGuide est maintenant disponible sur l’App Store.
#dev #iOS

Tentative de projet avec SwiftUI

On peut difficilement ignorer SwiftUI. Au dĂ©but, il y avait du potentiel et de l’enthousiasme. Ainsi que des limitations et des bugs. Normal ! Les premiers retours Ă©taient prometteurs. Certains dĂ©veloppeurs adorent expĂ©rimenter avec les technologies balbutiantes. En gĂ©nĂ©ral, je prĂ©fĂšre attendre.
#dev #iOS #SwiftUI

AcknowList pour Swift Package Manager

AcknowList existe parce que CocoaPods propose une liste des licences pour un projet : le fichier « acknowledgments.plist ». Que faire pour Swift Package Manager ? On peut toujours intĂ©grer des licences manuellement, mais sans fichier de rĂ©fĂ©rence, l’intĂ©gration n’est pas vraiment satisfaisante. Quand soudain je dĂ©couvre le fichier « Package.resolved ».
#dev #iOS

Notes WWDC 2022 : Complications and widgets

Mes notes pour les sessions « Complications and widgets: Reloaded » et « Go further with Complications in WidgetKit » de la WWDC 2022.
#dev #iOS #watchOS

Notes WWDC 2022 : Desktop-class iPad apps

Mes notes pour les sessions « Build a desktop-class iPad app » et « Adopt desktop-class editing interactions » de la WWDC 2022.
#dev #iOS

Notes WWDC 2022 : What’s new in UIKit

Mes notes pour la session « What’s new in UIKit » de la WWDC 2022.
#dev #iOS

Notes WWDC 2022 : What’s new in Swift

Mes notes pour la session « What’s new in Swift » de la WWDC 2022.
#dev #iOS #macOS

Passer de CocoaPods Ă  Swift Package Manager

J’utilise CocoaPods depuis des annĂ©es pour mes projets personnels et professionnels. Au fil des annĂ©es, j’ai mis Ă  jour mes bibliothĂšques open source pour les rendre compatible avec SPM. Et maintenant, je rĂ©alise que certaines de mes applications n’ont plus besoin de CocoaPods.
#dev #iOS

Historique des versions avec Trackup

Dans mon article du mois dernier, j’expliquais que Trackup Ă©tait extensible, offrant des possibilitĂ©s d’évolution intĂ©ressantes. Depuis, j’ai mis en pratique une de ces idĂ©es, avec un nouveau package Swift qui prĂ©sente un historique de versions.
#dev #iOS

MiXiT 2022

MiXiT, la confĂ©rence « avec des crĂȘpes et du cƓur », revient les 24 et 25 mai Ă  Lyon. Et comme pour chaque Ă©dition, je publie une mise Ă  jour de mon application.
#dev #iOS #macOS

Interface SwiftUI pour AcknowList

La derniĂšre mise Ă  jour d’AcknowList ajoute une interface SwiftUI. Le principe reste le mĂȘme : la bibliothĂšque est configurĂ©e avec une liste de licenses, et affiche le rĂ©sultat. En plus des UIViewController (UIKit), il y a donc maintenant des View (SwiftUI).
#dev #iOS #SwiftUI

Ouvrir le client mail choisi par l’utilisateur

Une application iOS peut facilement invoquer Apple Mail. Pour les autres clients mail (Gmail, Outlook, etc), j’ai crĂ©Ă© ThirdPartyMailer. Cette bibliothĂšque utilise les *custom URL schemes* pour invoquer des applications spĂ©cifiques, avec certaines options : destinataire du mail, sujet, contenu, CC/BCC. Pratique, mais le dĂ©veloppeur doit choisir le client Ă  utiliser, ou offrir ce choix Ă  l’utilisateur dans l’application.
#dev #iOS

1List 3

Je viens de publier 1List version 3. Quoi de neuf ? L’application a une nouvelle interface, toute simple et toute blanche.
#dev #iOS #macOS

SF Symbols

Les derniĂšres versions d’iOS ont apportĂ© beaucoup de nouveautĂ©s pour les dĂ©veloppeurs. Si je devais n’en retenir qu’une, ce serait SF Symbols. Plus qu’une API, c’est une partie intĂ©grante de l’OS, ouverte aux applications tierces.
#iOS #dev

Quels changements pour iOS 15 ?

Chaque version d’iOS apporte son lot de nouveautĂ©s. Mais avant toute chose, il convient de tester l’impact du nouveau SDK sur les fonctionnalitĂ©s existantes. En d’autres termes, comment Ă©viter les rĂ©gressions avec les mises Ă  jour d’Xcode ?
#dev #iOS

Notes WWDC 2021 : Use the camera for keyboard input in your app

Mes notes pour la session « Use the camera for keyboard input in your app » de la WWDC 2021.
#dev #iOS

Notes WWDC 2021 : SF Symbols in UIKit and AppKit

Mes notes pour la session « SF Symbols in UIKit and AppKit » de la WWDC 2021.
#dev #iOS #macOS

Notes WWDC 2021 : Focus on iPad keyboard navigation

Mes notes pour la session « Focus on iPad keyboard navigation » de la WWDC 2021.
#dev #iOS

Notes WWDC 2021 : Your guide to keyboard layout

Mes notes pour la session « Your guide to keyboard layout » de la WWDC 2021.
#dev #iOS

Notes WWDC 2021 : Customize and resize sheets in UIKit

Mes notes pour la session « Customize and resize sheets in UIKit » de la WWDC 2021.
#dev #iOS

Notes WWDC 2021 : What’s new in Foundation

Mes notes pour la session « What’s new in Foundation » de la WWDC 2021.
#dev #iOS #macOS

Notes WWDC 2021 : Meet the Location Button

Mes notes pour la session « Meet the Location Button » de la WWDC 2021.
#dev #iOS

Notes WWDC 2021 : What’s new in UIKit

Mes notes pour la session « What’s new in UIKit » de la WWDC 2021.
#dev #iOS

Notes WWDC 2021 : Meet the UIKit button system

Mes notes pour la session « Meet the UIKit button system » de la WWDC 2021.
#dev #iOS

Memorii 4

Voici Memorii 4, une nouvelle version de mon application d’apprentissage par cartes mĂ©moire. Au programme des nouveautĂ©s : l’ajout de vocabulaire corĂ©en, un widget pour les Favorites, et de nombreuses amĂ©liorations de l’interface.
#dev #iOS #macOS

Air Grenoble 3

Au dĂ©but de l’annĂ©e, l’indice de qualitĂ© de l’air pour Grenoble a Ă©voluĂ©, avec une nouvelle Ă©chelle allant de 1 Ă  6. J’avais alors mis Ă  jour mon application Air Grenoble pour reflĂ©ter ce nouvel indice, mais sans en modifier le format. Air Grenoble 3 apporte une nouvelle interface, mieux adaptĂ©e Ă  ce nouvel indice.
#dev #iOS #macOS

MiXiT 6 pour iOS et macOS

La confĂ©rence MiXiT est de retour les 18, 19 et 20 mai. Le moment est donc venu de mettre Ă  jour mon application. Il y a mĂȘme quelques nouveautĂ©s cette annĂ©e, avec le partage des sessions, la possibilitĂ© d’ajouter une session Ă  votre calendrier, mais aussi une version Mac.
#iOS #macOS #dev

AcknowList et la compatibilité avec Objective-C

Depuis 5 ans, je m’inflige de maintenir VTAck et AcknowList, deux bibliothĂšques qui implĂ©mentent exactement la mĂȘme chose, en Objective-C et en Swift. Quand un bug est corrigĂ© d’un cĂŽtĂ©, je le reprends pour l’autre. Quand une fonctionnalitĂ© est ajoutĂ©e d’un cĂŽtĂ©, rebelote. Un exercice qui Ă©tait assez instructif au dĂ©but, qui devient de plus en plus une corvĂ©e.
#dev #iOS

Un livre, un widget

J’aime lire des ebooks, mais je dois reconnaĂźtre que, comparĂ©s aux livres en papier posĂ©s sur une table ou un coin de bureau, on a tendance Ă  les oublier. Ils restent cachĂ©s dans une liseuse Ă©lectronique, ou, pire, Ă  l’intĂ©rieur d’une application sur un tĂ©lĂ©phone ou tablette.
#livre #iOS

VTAck’ + AcknowList 2.0

J’ai commencĂ© Ă  travailler sur VTAcknowledgementsViewController pendant mes vacances de fin d’annĂ©e 2013. Cette semaine, je viens de publier sa version 2.0.
#dev #iOS

API pour l’application Bibliothùque de Grenoble

Comment construire une application pour un service web qui ne dispose pas d’API publique ? Pour la BibliothĂšque de Grenoble, je vous avais expliquĂ© que j’utilisais une web view invisible, pilotĂ©e par des commandes JavaScript, extrayant les informations des pages HTML. La situation vient de changer avec la derniĂšre mise Ă  jour.
#iOS #dev

ListFormatter

Les Formatters sont des classes bien utiles. DerniĂšre amĂ©lioration remarquable : l’ajout de ListFormatter avec iOS 13.
#dev #iOS

Trouver la motivation avec des avis sur l’App Store

J’évite en gĂ©nĂ©ral les articles autosatisfaits. Je vais faire une exception aujourd’hui pour partager quelques avis publiĂ©s sur l’App Store concernant mes applications.
#iOS #app

App Clip pour Air Grenoble

« App Clip » Ă©tait annoncĂ© comme l’une des grandes nouveautĂ©s d’iOS 14. Depuis la keynote aux multiples sessions WWDC, en passant par sa mise en avant dans App Store Connect, Apple a tout fait pour encourager son utilisation.
#dev #iOS

Air Grenoble avec widget iOS 14

La derniĂšre mise Ă  jour d’Air Grenoble apporte un widget iOS 14. Vous pouvez ainsi afficher la qualitĂ© de l’air sur votre Ă©cran d’accueil.
#dev #iOS

Comic Book Day pour Mac avec synchronisation iCloud

Je viens de publier Comic Book Day 2.0. Mise à jour majeure ! Au programme : une version Mac et la synchronisation iCloud.
#dev #iOS #macOS

Memorii pour Mac avec synchronisation iCloud

Memorii est maintenant disponible sur le Mac App Store, avec synchronisation iCloud des données entre iPhone, iPad et Mac.
#dev #macOS #iOS

Notes WWDC 2020 : iOS pickers, menus and actions

Mes notes pour les sessions dédiées aux « iOS pickers, menus and actions » de la WWDC 2020.
#dev #iOS

Notes WWDC 2020 : Swift packages - Resources and localization

Mes notes pour la sessions WWDC 2020 « Swift packages: Resources and localization ».
#dev #iOS

Notes WWDC 2020 : Tests

Mes notes pour les sessions dédiées aux tests de la WWDC 2020 : « Write tests to fail », « Triage test failures with XCTIssue » et « XCTSkip your tests ».
#dev #iOS

Accessibilité pour Air Grenoble

Je sais bien que l’accessibilitĂ© est un sujet important, mais pour ĂȘtre honnĂȘte, j’y pense plutĂŽt a posteriori, quand je suis Ă  court d’idĂ©es pour de nouvelles fonctionnalitĂ©s. Heureusement qu’il existe des initiatives comme la JournĂ©e Mondiale de Sensibilisation Ă  l’AccessibilitĂ© pour me secouer un peu.
#dev #iOS

Mode sombre au lancement pour une application compatible iOS 10

Un Ă©cran de lancement iOS doit passer par un storyboard avec uniquement des classes de base. Et si votre projet supporte encore iOS 10, un asset catalog ne peut pas inclure des couleurs personnalisĂ©es. Tout cela signifie a priori qu’il est impossible de supporter le mode sombre au lancement. Flash blanc aveuglant garanti Ă  chaque fois.
#dev #iOS

Champ de recherche avec jetons iOS 13

La derniĂšre mise Ă  jour de Games Keeper ajoute la possibilitĂ© de chercher dans l’historique des parties. Vous pouvez chercher le nom d’un joueur ou le titre de la partie. Pour aller plus vite, la liste complĂšte des joueurs et des titres est affichĂ©e en dessous du champ de recherche.
#dev #iOS

Comment exporter un email en PDF sur iPhone

La plupart des emails finissent Ă  la poubelle. Mais certains sont plus importants, et mĂ©ritent d’ĂȘtre sauvegardĂ©s. Je voulais exporter un email au format PDF. Depuis un Mac ou un PC, c’est plutĂŽt facile Ă  trouver. Mais depuis un iPhone ou un iPad, la solution est moins Ă©vidente.
#iOS

Explorer une application iPad au clavier

Les nouveautĂ©s du SDK iOS 13.4 ont ravivĂ© mon intĂ©rĂȘt pour la prise en charge du clavier.
#dev #iOS

1List et Contact[s] disponibles gratuitement

À partir de cette semaine, vous pouvez tĂ©lĂ©charger deux de mes applications, 1List et Contact[s], totalement gratuitement. Pas de publicitĂ© Ă  l’intĂ©rieur, pas d’achat in-app, et non, vos donnĂ©es personnelles ne sont pas revendues. Juste gratuites.
#iOS #app

SF Symbols et l’icĂŽne des RĂ©glages

Les SF Symbols sont une collection d’icĂŽnes standardisĂ©es pour iOS 13, mise Ă  disposition par Apple pour les applications tierces. J’apprĂ©cie Ă©normĂ©ment de pouvoir les inclure dans mes propres applications, me dĂ©barrassant au passage des alternatives plus ou moins satisfaisantes que j’utilisais jusqu’à prĂ©sent. Il y a juste un problĂšme.
#dev #iOS

Notifications avec autorisation provisoire

Les notifications ont une importance particuliÚre. iOS offre aux utilisateurs de nombreuses options pour les contrÎler, mais tout repose sur la fameuse question : « Autorisez-vous cette application à vous envoyer des notifications ? »
#dev #iOS

Raccourcis Siri « output » en action

J’ai rĂ©cemment mis Ă  jour Air Grenoble pour que son Extension Siri Ă©mette un « output ». Mais Ă  quoi ça sert ? Voici un exemple : un utilisateur peut ajouter une notification personnalisĂ©e Ă  une application qui n’en propose pas. Plus concrĂštement, je souhaite recevoir une notification tous les matins quand la qualitĂ© de l’air pour la journĂ©e s’annonce mauvaise.
#dev #iOS

Nouvelle application : bibliothÚque de Grenoble

C’est plus fort que moi. Quand j’utilise frĂ©quemment un service qui ne propose pas d’application mobile
 je finis par crĂ©er moi-mĂȘme l’application manquante. L’envie est encore plus forte quand le site web en question est mal adaptĂ© pour un Ă©cran mobile.
#iOS #app #dev

Games Keeper 3

Je n’ai jamais vraiment Ă©tĂ© satisfait de l’interface de Games Keeper. Depuis sa premiĂšre version, elle ressemble davantage Ă  un prototype qu’à une application aboutie. En l’adaptant pour iOS 13, j’ai dĂ©veloppĂ© une nouvelle interface qui me paraĂźt plus plaisante, tout en restant cohĂ©rente avec le fonctionnement de l’application. Je ne dirais pas que je suis pleinement satisfait du rĂ©sultat, mais il s’agit d’une amĂ©lioration significative. Voici donc Games Keeper 3.
#iOS #app #dev

Air Grenoble pour iOS 13

Air Grenoble souffle sa deuxiĂšme bougie avec la sortie d’une version 2.3 accompagnant iOS 13. Voici le tour des nouveautĂ©s.
#iOS #app #dev

Nettoyer la barre de statut du Simulateur avec Xcode 11

Les captures d’écran sont incontournables sur l’App Store. Elles sont obligatoires pour publier une application, mais surtout elles sont importantes pour communiquer avec un futur utilisateur potentiel, et le convaincre d’installer l’application.
#dev #iOS

iOS 13 : s’adapter au mode sombre

Le mode sombre ne laisse pas indiffĂ©rent. Mais que vous soyez enthousiasmĂ© ou consternĂ©, Apple annonce « Dark Mode » comme la nouveautĂ© principale d’iOS 13. Si vous dĂ©veloppez une application iPhone ou iPad, ça signifie qu’il vous faudra supporter cette fonctionnalitĂ© aussi tĂŽt que possible.
#dev #iOS

iOS 13 : conserver la couleur d’une barre de navigation avec un grand titre

iOS 13 change beaucoup de petites choses pour les barres de navigation. Le plus frappant, peut-ĂȘtre, est qu’une barre avec un grand titre fusionne complĂštement avec le fond de la vue principale. La « barre » disparaĂźt, pour ne laisser que le titre et les Ă©ventuels boutons de chaque cĂŽtĂ©.
#dev #iOS

Notes WWDC 2019 : Creating Independent Watch Apps

Mes notes pour la session 208 de la WWDC 2019 : Creating Independent Watch Apps.
#dev #iOS #watchOS

Notes WWDC 2019 : Modernizing Your UI for iOS 13

Mes notes pour la session 224 de la WWDC 2019 : Modernizing Your UI for iOS 13.
#dev #iOS

Notes WWDC 2019 : Architecting Your App for Multiple Windows

Mes notes pour la session 258 de la WWDC 2019 : Architecting Your App for Multiple Windows.
#dev #iOS

Notes WWDC 2019 : Targeting Content with Multiple Windows

Mes notes pour la session 259 de la WWDC 2019 : Targeting Content with Multiple Windows.
#dev #iOS

Notes WWDC 2019 : Introducing Multiple Windows on iPad

Mes notes pour la session 212 de la WWDC 2019 : Introducing Multiple Windows on iPad.
#dev #iOS

Notes WWDC 2019 : Great Developer Habits

Mes notes pour la session 239 de la WWDC 2019 : Great Developer Habits.
#dev #iOS #macOS

Notes WWDC 2019 : Introducing PencilKit

Mes notes pour la session 221 de la WWDC 2019 : Introducing PencilKit.
#dev #iOS

Notes WWDC 2019 : Supporting Dark Mode in Your Web Content

Mes notes pour la session 511 de la WWDC 2019 : Supporting Dark Mode in Your Web Content.
#dev #macOS #iOS #web

Notes WWDC 2019 : Implementing Dark Mode on iOS

Mes notes pour la session 214 de la WWDC 2019 : Implementing Dark Mode on iOS.
#dev #iOS

Notes WWDC 2019 : Introducing SF Symbols

Mes notes pour la session 206 de la WWDC 2019 : Introducing SF Symbols.
#dev #iOS #macOS

Notes WWDC 2019 : What’s New in iOS and macOS Design

Mes notes pour la session 801 de la WWDC 2019 : What’s New in iOS and macOS Design.
#dev #iOS #macOS

Un mode nuit pour Air Grenoble

De nombreuses applications iOS proposent un mode sombre. macOS propose un mode sombre, et une API pour les applications qui veulent l’adopter. Tout porte Ă  croire qu’iOS 13, quand il sera prĂ©sentĂ© le mois prochain, proposera un mode sombre. Le mode sombre est Ă  la mode.
#iOS #app #dev

iOS : adapter une police de caractĂšres

Je vous propose un petit jeu. Pendant plusieures annĂ©es, l’écran principal de mon application Games Keeper affichait un bug. Saurez-vous le trouver sur cette image ?
#dev #iOS

Nano Notes, un peu de lecture sur Apple Watch

Parfois, je veux lire sur mon Apple Watch. Oui, l’écran a la taille d’un timbre. Apple a sĂ»rement une bonne raison pour ne pas proposer son application Notes sur watchOS. Mais, parfois, je veux lire sur mon Apple Watch. J’ai donc dĂ©cidĂ© de dĂ©velopper une application pour remplir ce rĂŽle. Elle s’appelle Nano Notes, et vous pouvez la tĂ©lĂ©charger gratuitement sur l’App Store.
#iOS #app #dev

MiXiT 5, Ă©dition 2019

La confĂ©rence lyonnaise MiXiT vient d’annoncer son programme pour l’édition 2019, ce qui me permet de mettre Ă  jour mon application iOS. Voici donc la version 5 (cinquiĂšme annĂ©e, dĂ©jĂ ), prĂȘte pour la confĂ©rence qui aura lieu les 23 et 24 mai.
#mixit #iOS #app #dev

Doublons Apple Books

Quand vous cherchez quelque chose sur l’App Store, vous ne vous attendez pas Ă  avoir une mĂȘme application proposĂ©e deux fois Ă  deux prix diffĂ©rents ? Pareil pour un film sur l’iTunes Store ? Bon. Alors pourquoi est-ce rĂ©guliĂšrement le cas pour la boutique de livres Apple Books ?
#iOS #livre

Memorii, le retour

Memorii est une application de mĂ©morisation de vocabulaire pour l’étude d’une langue Ă©trangĂšre. Elle fonctionne sur le principe des cartes mĂ©moire : on y entre des listes de mots, et l’application fait dĂ©filer cette liste de diffĂ©rentes façons pour faire travailler la mĂ©moire.
#iOS #app #dev

Bug d’itĂ©ration de dictionnaire

Je fais parfois des erreurs vraiment basiques. Par exemple, je viens de comprendre la cause d’un bug qui me contrariait depuis plusieurs semaines. Mon erreur : j’utilisais un dictionnaire à la place d’un tableau.
#dev #iOS #Swift

Passer des données avec Shortcuts

L’application Raccourcis fonctionne comme la plupart des systĂšmes de programmation « visuelle » : avec des blocs, prenant des valeurs en entrĂ©e, et produisant d’autres valeurs en sortie. Input/output classique. Avec iOS 12, l’application Raccourcis gĂšre un nouveau type de bloc, les... Raccourcis Siri, c’est-Ă -dire des actions spĂ©cifiques, proposĂ©es par une application.
#iOS #app #dev

Siri Shortcuts

Les « Siri Shortcuts » sont une des principales nouveautĂ©s d’iOS 12. Une fonctionnalitĂ© trĂšs prometteuse, mais un peu difficile Ă  rĂ©sumer, et qui va au-delĂ  de Siri l’assistant vocal. Plus gĂ©nĂ©ralement, il s’agit en fait de marquer certaines activitĂ©s se dĂ©roulant au sein d’une application, pour ensuite laisser le systĂšme les exposer en dehors de l’application elle-mĂȘme. Avec une commande Siri, donc, mais aussi sur l’écran d’accueil, l’écran de recherche, ou avec la nouvelle application « Raccourcis ».
#iOS #app #dev

Table view minimaliste avec Swift

DĂ©velopper pour iOS en 2018, c’est encore et toujours une histoire de UITableView. Les protocoles de data source et de delegate n’ont pas vraiment changĂ© depuis iPhone OS 2, mais on continue Ă  dĂ©battre des mille et une façons de les implĂ©menter. Swift, en particulier, apporte de nouvelles solutions.
#iOS #app #dev

Nuages animés avec UIKit

UIKit permet d’animer facilement n’importe quel Ă©lĂ©ment affichĂ© Ă  l’écran. Il convient Ă©videmment de faire preuve de retenue pour ne pas dĂ©truire son interface avec une avalanche d’animations, mais il faut aussi savoir s’amuser, et une petite dose d’animation suffit parfois Ă  rendre une application unique et plus agrĂ©able Ă  utiliser.
#iOS #app #dev

Nouvelle icĂŽne pour Air Grenoble 2

L’icĂŽne a un rĂŽle essentiel de reprĂ©sentation. Difficile de la changer trop souvent sans dĂ©stabiliser inutilement ceux qui ont l’habitude de la voir sur leur Ă©cran d’accueil. Mais une « v2 » est toujours une bonne opportunitĂ© pour rafraĂźchir et amĂ©liorer l’icĂŽne.
#iOS #app #dev

Air Grenoble 2 : mise Ă  jour pas-Ă -pas

« Air Grenoble » est une petite application iOS qui permet de consulter facilement l’indice de qualitĂ© de l’air. C’est un projet qui me plaĂźt beaucoup, pour plusieurs raisons.
#iOS #app #dev

WWDC 2018 : test d’applications

Doucement mais sĂ»rement, Apple amĂ©liore ses outils pour le « testing » des applications (tests unitaires, intĂ©gration continue, etc). Voici le compte-rendu de la session « WWDC 2018 - What’s New in Testing », avec tous les changements apportĂ©s cette annĂ©e.
#dev #iOS #Xcode #unit test

Contact[s] + ThirdPartyMailer

Contact[s] est une application de gestion de carnet d’adresses, qui permet de configurer un client mail tiers. La derniùre mise à jour apporte la prise en charge de Microsoft Outlook et Yahoo Mail. En coulisses, le changement est plus significatif : l’application utilise maintenant ThirdPartyMailer, un projet open source qui se concentre sur cette gestion des clients mail.
#iOS #app #dev

Tweets astuces

Depuis quelques temps, j’essaie de poster rĂ©guliĂšrement sur Twitter des « astuces » pour mes applications iOS. Se faire remarquer sur l’App Store est un art difficile. TrĂšs difficile, surtout quand on est un petit dĂ©veloppeur amateur. Twitter est un moyen de communication utile, qui a l’avantage d’ĂȘtre rapide Ă  alimenter.
#dev #iOS #Twitter

iOS : localisation plus cohérente

Localiser une application est une tĂąche difficile, qui implique de nombreux aspects au-delĂ  de la simple traduction de texte. iOS inclut des outils qui peuvent faciliter cette localisation, et l’adapter aux rĂ©glages de l’utilisateur.
#dev #iOS

MiXiT 2018

MiXiT est une confĂ©rence trĂšs sympathique pour beaucoup de raisons, mais notamment parce qu’elle propose une API simple pour consulter le programme. Je trouve que c’est une excellente occasion pour construire une petite application.
#mixit #iOS #app #dev

Petit bilan personnel de l’annĂ©e 2017

Comme tous les ans, je profite du premier janvier pour tirer un bref bilan de l’annĂ©e passĂ©e. 2017 Ă©tait plutĂŽt calme, me concernant. Pas de grande surprise, je pourrais presque reprendre le billet de 2016 et retrouver les mĂȘmes observations.
#général #Elsevier #iOS #app

Things 3

J’utilise Things 3 depuis sa sortie il y a quelques mois. C’est d’ailleurs une des rares applications que j’utilise quotidiennement aussi bien sur mobile que sur desktop, avec des cas d’utilisation souvent complĂ©mentaires. Cette nouvelle version me paraĂźt familiĂšre Ă  present, et je pense pouvoir en tirer un premier bilan.
#app #iOS #macOS

Notations App Store, nouvelle génération

L’importance des notations sur l’App Store a gĂ©nĂ©ralisĂ© le concept du « Please rate this app ». Ces alertes encouragent, de façon plus ou moins insistante, l’utilisateur Ă  laisser un avis sur l’App Store. Tout ça pour obtenir le plus de ★★★★★.
#dev #iOS

Tester plusieurs versions d’iOS avec buddybuild

DĂšs qu’une nouvelle version d’iOS arrive, on aimerait pouvoir abandonner les prĂ©cĂ©dentes. D’une part, pour bĂ©nĂ©ficier des derniĂšres APIs, mais aussi pour simplifier les conditions d’exĂ©cution du code. Or, avec un peu de pragmatisme, il convient gĂ©nĂ©ralement de supporter une ou deux versions antĂ©rieures afin de ne pas exclure une partie des utilisateurs potentiels.
#iOS #Xcode #dev

Petit bilan personnel de l’annĂ©e 2016

Le passage du 31 dĂ©cembre au 1er janvier n’apporte aucun changement particulier, mais c’est toujours une bonne occasion pour prendre un peu de recul. S’arrĂȘter quelques minutes et essayer de rĂ©sumer sous la forme d’un billet de blog ce qui s’est passĂ© en 2016.
#général #Elsevier #iOS #app

Mega Moji

Tous les ans c’est la mĂȘme chose. Une nouvelle version d’iOS arrive, avec son SDK et ses API, et autant de nouvelles opportunitĂ©s. Je voulais donc en profiter pour construire une nouvelle app, et essayer d’ĂȘtre prĂ©sent dĂšs le premier jour de disponibilitĂ© de l’OS.
#iOS #dev

Mix-IT 2016

La nouvelle Ă©dition de Mix-IT se dĂ©roulera la semaine prochaine, c’était donc le bon moment pour mettre Ă  jour mon app iOS permettant d’en consulter le programme, initialement publiĂ©e l’annĂ©e derniĂšre.
#mixit #iOS #app #dev

ThirdPartyMailer 

J’ai publiĂ© cette semaine une nouvelle bibliothĂšque Swift pour iOS, qui permet d’interagir avec les clients mails tiers. On peut faire beaucoup de choses avec iOS en 2016, mais on ne peut toujours pas choisir son client mail.
#Swift #iOS #app #making-of

Games Keeper 2.0

article thumbnail
J’ai publiĂ© cette semaine la version 2.0 de Games Keeper, une app iOS qui remplace les feuilles de scores de jeux de sociĂ©tĂ©. Mise Ă  jour autoproclamĂ©e majeure, qui me donne donc l’occasion de parler un peu de ce projet qui Ă©volue doucement mais sĂ»rement depuis sa premiĂšre version de septembre 2013.
#iOS #app #making-of

Comment implémenter Peek et Pop pour 3D Touch

article thumbnail
Tous les ans c’est la mĂȘme chose, Apple garde quelques API en surprise pour la sortie d’iOS au mois de septembre. Avec iOS 9 et les Ă©crans 3D Touch des nouveaux iPhones, voici donc « Peek » et « Pop », qui remportent conjointement le prix de l’API au nom le plus ridicule Ă  porter. Du cĂŽtĂ© du code, par contre, il est question de « view controller previewing » et de « commit » du preview, le tout restant associĂ© Ă  Force Touch.
#iOS #UIKit #dev

Indexer le contenu d’une app avec Spotlight pour iOS 9

article thumbnail
Une nouvelle API Ă  la fois simple d’utilisation et intĂ©ressante pour la plupart des apps : une combinaison comme on les aime. Avec iOS 9, on peut donc indexer le contenu d’une application, afin de rendre des donnĂ©es accessibles Ă  tout moment depuis le champs de recherche systĂšme (a.k.a. « Spotlight »). Une opportunitĂ© plutĂŽt rare dans un OS oĂč chaque app est soigneusement sandboxĂ©e. Il faudra encore attendre pour une Ă©ventuelle API Siri, mais cette nouveautĂ© constitue dĂ©jĂ  une amĂ©lioration importante.
#iOS #dev

Comment inspecter une page web (ou une web view) avec iOS

Safari n’est pas exactement le navigateur favori des dĂ©veloppeurs web. Il dispose cependant d’une fonctionnalitĂ©, un peu cachĂ©e et donc relativement mĂ©connue, qui vaut vraiment le dĂ©tour lorsqu’il s’agit de concevoir un site (ou une app) mobile. Je n’ai probablement pas Ă  vous convaincre de l’intĂ©rĂȘt du Web Inspector. Depuis Firebug jusqu’aux _DevTools_ de Chrome, la possibilitĂ© d’explorer le DOM avec une interface graphique est devenue incontournable. Mais comment faire pour un smartphone ou une tablette, quand le navigateur mobile ne dispose pas d’une telle fonctionnalité ? Dans le cas d’iOS, Safari s’en occupe trĂšs bien, encore faut-il savoir l’activer.
#iOS #web #dev

Impressions WWDC 2015

On peut dire que la WWDC est vraiment devenue « worldwide » depuis qu’Apple diffuse les vidĂ©os des sessions pendant le courant de la semaine, allant cette annĂ©e jusqu’à proposer plusieurs retransmissions en direct. Bref, San Francisco ou pas, tout le monde peut bĂ©nĂ©ficier de cette avalanche d’informations. Nouvelles versions des OS, nouvelles API, il y a forcĂ©ment beaucoup de choses Ă  dire, je ne vais donc pas me priver d’y ajouter mon commentaire.
#WWDC #iOS #OS X #watchOS #dev

Application iOS pour Mix-IT

Mix-IT, c’est un peu la WWDC lyonnaise. L’annĂ©e derniĂšre, la confĂ©rence avait vendu tous les billets en 48 heures ; cette annĂ©e il aura suffit de 3 heures.
#mixit #iOS #dev

« Pro iOS Continuous Integration », de Romain Pouclet

article thumbnail
Avant mĂȘme le lancement du premier SDK en 2008, les dĂ©veloppeurs iPhone OS/iOS ont toujours eu un temps d’avance sur Apple. L’intĂ©gration continue fait partie de ces sujets trop longtemps ignorĂ©s, et reste encore aujourd’hui bien discrĂšte lors des WWDC.
#interview #livre #iOS #CI

iOS : des boutons et des couleurs

article thumbnail
Une bonne annĂ©e est passĂ©e depuis le grand chamboulement nommĂ© iOS 7. Il m’aura bien fallu plusieurs mois avant d’apprĂ©hender confortablement ce nouveau langage visuel, et adapter mes applications. Cette annĂ©e avec iOS 8 c’est le retour au calme, avec une mise-Ă -jour en douceur de l’interface. Seulement voilĂ , l’Apple Watch pointe Ă  l’horizon, et les grands dĂ©bats reprennent. Un point me chagrine en particulier : les boutons et leurs couleurs.
#iOS #UI #UIKit #WatchKit

iOS 7 : background fetching pour tout le monde

Entre iOS et les applications qui veulent travailler en tĂąche de fond, c’est compliquĂ©. Le systĂšme a de bonnes raisons pour Ă©conomiser les cycles de son processeur, tandis que les dĂ©veloppeurs en veulent toujours plus. Bonne nouvelle, tout change avec iOS 7, le “background fetching” est maintenant ouvert Ă  tous.
#iOS #Xcode #Objective-C

Making-of Contact[s], le retour

Inscrire un projet dans la durĂ©e, c’est bien. On aimerait pouvoir rester en Ă©tat de refactoring permanent, construisant ligne aprĂšs ligne le soft parfait. Seulement voilĂ , parfois, la meilleure solution est de tout supprimer, et de repartir de zĂ©ro.
#iOS #making-of #sync #Contacts #iPhone

Intégration continue OS X et iOS avec Travis CI

Il faut savoir regarder la vĂ©ritĂ© en face : les projets OS X et surtout iOS incluant des tests unitaires sont plutĂŽt rares. Les contraintes techniques entourant les plateformes d’Apple compliquent leur intĂ©gration, et donc leur mise en Ɠuvre. Mais rassurez-vous, les choses s’amĂ©liorent.
#OS X #iOS #Objective-C #TDD #Travis

« T’as le look, Cocoa »

UIKit est votre ami. Si vous connaissez le dĂ©veloppement iOS, vous maĂźtrisez dĂ©jĂ  la plupart des Ă©lĂ©ments graphiques proposĂ©s par UIKit. Cette palette vous permet de construire rapidement une interface, Ă  l’aide d’élĂ©ments standards, prĂȘts Ă  l’emploi. Comment faire alors pour personnaliser cette interface, pour rendre votre application unique et reconnaissable ?
#iOS #UIKit #Cocoa #style

iOS : des screenshots par milliers

Publier une application sur l’App Store, c’est Ă  la fois trĂšs simple et trĂšs compliquĂ©. Je vais donc m’attarder sur l’une de ces difficultĂ©s : les screenshots.
#iOS #App Store #gestion de projets

“The Magazine”, Newsstand reloaded

Vous avez sans doute entendu parler d’Instapaper, le service pour “lire plus tard”, concept gĂ©nial dĂ©clinĂ© Ă  l’infini. Son crĂ©ateur, Marco Arment, vient de lancer une nouvelle application, sobrement baptisĂ©e “The Magazine”. Elle pourrait bien sonner le renouveau de Newsstand, le kiosque iOS.
#iOS #Newsstand #presse

iOS 6 : quoi de nouveau pour les développeurs ?

La derniĂšre version d’iOS apporte son lot de nouveautĂ©s, pour la plupart dĂ©jĂ  bien connues. Les dĂ©veloppeurs ne sont pas en reste, avec de nombreuses API Ă  (re)dĂ©couvrir. J’en profite pour exposer les points qui me paraissent les plus intĂ©ressants.
#iOS #iPhone #iPad #Xcode #Objective-C

iOS : en quĂȘte de fluiditĂ©

Beaucoup d’applications iOS reposent sur une simple liste verticale d’élĂ©ments (la UITableView pour les intimes). C’est un Ă©lĂ©ment central, incontournable. Comme toutes les autres vues, les cellules qui constituent ces listes peuvent ĂȘtre customisĂ©es librement avec des images, des labels, des boutons, etc.
#iOS #making-of #animation #optimisation #scrolling #UIKit #UITableView

Tests unitaires pour iOS

Le dĂ©veloppement iOS bĂ©nĂ©ficie d’un langage solide (Objective-C) et d’un SDK moderne (Cocoa Touch). Il existe pourtant un aspect technique, gĂ©nĂ©ralement considĂ©rĂ© comme essentiel, sur lequel la plateforme est en retard flagrant : les tests unitaires, et le “Test-Driven Development” (TDD) en particulier. C’est le moment de s’y mettre.
#iOS #Xcode #Objective-C #TDD #OCUnit

Les Workspaces avec Xcode 4

ArrivĂ©s avec Xcode 4, les workspaces vous permettent de gĂ©rer plusieurs projets simultanĂ©ment. Voyons comment mettre en place cet outil afin d’utiliser efficacement une bibliothĂšque ou un framework tiers.
#Tutoriel #Xcode #Workspace #iOS #OS X #projet #frameworks #Cedar

« Tiny Tower » : le jeu pour mobiles sur mesure

Je viens de dĂ©couvrir « Tiny Tower », un jeu disponible pour iOS et Android, et j’essaie maintenant de comprendre comment un jeu si simple peut se rĂ©vĂ©ler aussi addictif (le fourbe !), en particulier sur mobiles.
#Tiny Tower #jeux vidéo #iOS #Android #pixel

iOS : les animations

Comment crĂ©er une application attractive ? Vaste question, mais il me semble qu’il existe un critĂšre, complĂštement objectif, vous permettant d’atteindre un certain niveau de finition : tous les Ă©lĂ©ments de l’interface doivent ĂȘtre animĂ©s. La bonne nouvelle, c’est qu’iOS le gĂšre trĂšs facilement, comme nous allons le voir.
#iOS #OS X #UI #animation #blocs

Making-of MemO’clock GeO’clock : Projets parallùles

Voici la premiĂšre partie d’une sĂ©rie de billets prĂ©sentant certains aspects de la crĂ©ation de mes derniĂšres applications : ce qu’on pourrait donc appeler le making-of de MemO’clock et GeO’clock. Pour commencer, je vais justement aborder le problĂšme d’avoir Ă  gĂ©rer plusieurs applications similaires en parallĂšle.
#iOS #Making-of #gestion de projets #Xcode

iOS : Extraire un compte Twitter du carnet d’adresses

Avec iOS 5, le carnet d’adresses bĂ©nĂ©ficie de nouveaux champs de saisie pour les rĂ©seaux sociaux. Voyons comment rĂ©cupĂ©rer ces informations.
#iOS #iOS 5 #Contacts #Twitter

iOS, Retina, et le pixel parfait

Les qualitĂ©s esthĂ©tiques et ergonomiques des applications iOS dĂ©pendent trĂšs largement d’un simple et unique facteur : la taille invariable de l’écran. C’est peut-ĂȘtre la caractĂ©ristique qui diffĂ©rencie le plus iOS de ses concurrents, mais aussi du web en gĂ©nĂ©ral. Voyons comment gĂ©rer efficacement les pixels Ă  votre disposition.
#iOS #Retina #résolution #taille #iPhone #iPad