Octoid : un successeur pour SDKTransform

Les développeurs Delphi devant utiliser des SDK développés en Objective-C provenant d'Apple ou d'autres sources ont déjà eu l'occasion de se palucher les conversions des fonctionnalités qu'ils voulaient utiliser à la main ou en utilisant SDKTransform.

SDKTransform.exe est un programme livré par Embarcadero avec Delphi et RAD Studio depuis quelques années.

Le problème avec lui c'est qu'il est assez complexe à paramétrer en ligne de commande et a besoin de dépendances dont tout le monde ne connait pas forcément l'existence, l'emplacement ou la version à utiliser.

Pour "simplifier" son utilisation une interface graphique a été ajoutée sous forme d'un projet Delphi open source disponible sur GitHub : SDKTransform Assistant. Il est ancien et ne fonctionne pas en l'état.

Une version un peu plus récente est disponible sur BitBucket mais là encore elle n'est à priori plus maintenue.

Face à tout ça et la complexité inutile pour les développeurs est né le projet Octoid (Objective-C headers into Delphi code). Il a pour objectif de remplacer SDKTransform et SDKTransform Assistant.

Développé par un groupe de MVP Embarcadero comme l'a été la version relookée de XML Mapper, Octoid est disponible sous forme de codes sources sur GitHub et sera probablement téléchargeable depuis GetIt sous peu.

Si vous avez besoin d'utiliser un SDK iOS ou macOS qui n'est pas fourni avec l'import standard de RAD Studio, ajoutez le framework dans les options de l'IDE, lancez la mise à jour des fichiers (qui dialoguera avec Xcode par le PA Server pour rappatrier ce dont Delphi a besoin), puis exécutez Octoid dans lequel il vous suffit de choisir le framework duquel vous voulez les wrappers en Pascal.

A l'utilisation (moyennant de se dépatouiller avec la gestion mémoire des objets Apple), c'est comme pour une DLL Windows classique. On utilise l'unité mappée dans nos programmes et les compilateurs se débrouillent pour faire les liens avec le SDK.

Si vous ne voulez pas faire les imports vous mêmes plusieurs projets proposent des mappages déjà opérationnels comme par exemple ces wrappers iOS chez FMX Express ou un peu plus (librairies, composants, exemples d'utilisation) comme la librairie JVESuite (open source suite à l'arrêt de sa commercialisation), la librairie Alcinoe ou la librairie Kastri.


Mug Toucan DX dans la baie de RioMug carte postale Sydney