Prise en main avec sharpie objectif
Important
Objectif Sharpie est un outil pour les développeurs Xamarin expérimentés ayant une connaissance avancée de Objective-C (et par extension, C). Avant d’essayer de lier une Objective-C bibliothèque, vous devez avoir une solide connaissance de la création de la bibliothèque native sur la ligne de commande (et une bonne compréhension du fonctionnement de la bibliothèque native).
Installation d’Objective Sharpie
Objective Sharpie est actuellement un outil en ligne de commande autonome pour Mac OS X 10.10 et versions ultérieures, et n’est pas un produit Xamarin entièrement pris en charge. Il doit uniquement être utilisé par les développeurs avancés pour aider à créer un projet de liaison à une bibliothèque tierce Objective-C .
Objective Sharpie peut être téléchargé en tant que programme d’installation de package OS X standard. Exécutez le programme d’installation et suivez toutes les invites à l’écran de l’Assistant Installation :
- Version actuelle : 3.5
Conseil
Utilisez la sharpie update
commande pour effectuer la mise à jour vers la dernière version.
Procédure pas à pas de base
Objective Sharpie est un outil en ligne de commande fourni par Xamarin qui aide à créer les définitions nécessaires pour lier une bibliothèque tierce Objective-C à C#. Même lors de l’utilisation d’Objective Sharpie, le développeur doit modifier les fichiers générés une fois Objective Sharpie terminé pour résoudre les problèmes qui n’ont pas pu être gérés automatiquement par l’outil.
Lorsque cela est possible, Objective Sharpie annote les API avec lesquelles il a quelques doutes sur la façon de lier correctement (de nombreuses constructions dans le code natif sont ambiguës).
Ces annotations s’affichent sous forme d’attributs[Verify]
.
La sortie d’Objective Sharpie est une paire de fichiers - ApiDefinition.cs
et StructsAndEnums.cs
- qui peuvent être utilisés pour créer un projet de liaison qui se compile dans une bibliothèque que vous pouvez utiliser dans les applications Xamarin.
Important
Objective Sharpie est fourni avec une règle majeure pour une utilisation correcte : vous devez absolument lui passer les arguments de ligne de commande corrects du compilateur clang afin de garantir une analyse correcte. En effet, la phase d’analyse Objective Sharpie est simplement un outil implémenté sur l’API libtooling clang.
Cela signifie que Objective Sharpie a toute la puissance de Clang (le compilateur C/Objective-C/C++ qui compile réellement la bibliothèque native que vous lieriez) et toute sa connaissance interne des fichiers d’en-tête pour la liaison.
Au lieu de traduire l’AST analysé en code objet, Objective Sharpie traduit l’AST en une liaison C# « scaffold » appropriée pour l’entrée dans les bmac
outils de liaison et btouch
Xamarin.
Si Objective Sharpie génère des erreurs lors de l’analyse, cela signifie que clang a fait l’objet d’une erreur pendant sa phase d’analyse en essayant de construire l’AST, et vous devez en déterminer la raison.
NOUVEAU ! La version 3.0 tente de résoudre une partie de cette complexité en prenant directement en charge les projets Xcode. Si une bibliothèque native a un projet Xcode valide, Objective Sharpie peut évaluer le projet pour une cible et une configuration spécifiées afin de déduire les fichiers d’en-tête d’entrée et les indicateurs de compilateur nécessaires.
Si aucun projet Xcode n’est disponible, vous devez vous familiariser avec le projet en déduisant les fichiers d’en-tête d’entrée corrects, les chemins de recherche de fichier d’en-tête et les autres indicateurs de compilateur nécessaires. Il est important de se rendre compte que les indicateurs de compilateur utilisés pour générer la bibliothèque native sont les mêmes qui doivent être passés à Objective Sharpie. Il s’agit d’un processus plus manuel, qui nécessite un peu de familiarité avec la compilation du code natif sur la ligne de commande avec la chaîne d’outils Clang.