Comment faire tourner CocoaPods sur le processeur M1 d'Apple ?

Le gestionnaire de dépendances CocoaPods permet d'installer des dépendances de développement pour des projets avec un Mac. Ces dépendances sont écrites dans les langages compris par les Mac, le Swift ou l'Objective-C. Les pods que l'on peut intégrer permettent d'installer des outils pour créer des applications, logiciels ou sites internet à partir d'un Mac. Depuis 2020, Apple a décidé de développer ses propres processeurs pour les Mac en remplacement de ceux utilisés auparavant chez Intel. Les deux types de processeurs n'ont pas la même architecture, les logiciels doivent s'adapter pour gérer ces nouveaux processeurs, et c'est le cas de CocoaPods.

Afin de faciliter le passage entre les processeurs Intel et Apple, l'entreprise a créé son propre outil de conversion : Rosetta. Cet outil s'exécute en arrière-plan et convertit les instructions à destination des processeurs Intel en instructions pour les nouveaux processeurs Apple. Vous pouvez utiliser cet outil pour faire fonctionner CocoaPods. Pour cela, cliquez sur le Terminal avec le bouton droit depuis le Finder. Cliquez sur "Informations", puis "Ouvrir avec Rosetta". Depuis le terminal, vous devez ensuite installer le gem "ffi". Ce gem permet de charger des librairies natives pour pouvoir les utiliser avec le langage Ruby.

sudo gem install ffi

CocoaPods va fonctionner ensuite sur votre Mac, même sans utiliser Rosetta pour lancer le terminal.

Une autre solution pour installer ffi consiste à utiliser "arch". Cet utilitaire fourni par Apple permet de lancer des commandes en précisant l'architecture d'origine de la commande et fait appel à Rosetta pour exécuter les instructions. Utilisez la commande "arch" pour installer le gem "ffi".

sudo arch -x86_64 gem install ffi
# Avec ce système, vous devez ensuite réinstaller les dépendances de CocoaPods
arch -x86_64 pod install

Depuis août 2022, le gestionnaire de paquets Homebrew a été mis à jour. Il peut maintenant directement détecter l'architecture des Mac et adapter ses instructions. Installez CocoaPods directement avec Homebrew et il fonctionnera avec votre processeur M1. Vous devez auparavant désinstaller le gem local de CocoaPods.

# Désinstaller le gem CocoaPods
sudo gem uninstall cocoapods
# Réinstaller Cocoapods avec Homebrew
brew install cocoapods

iOS / Mac