Le support complètement cassé du MTP par macOS et iOS, qui empêche d’importer les images de la Nintendo Switch

J’en avais déjà parlé, la Nintendo Switch peut en théorie être reliée à un Mac pour récupérer les images en USB… mais ça ne marche pas. Plus exactement, ça ne marche plus, parce que la prise en charge du MTP par Apple est cassée.

Le MTP, j’en avais parlé il y a longtemps, mais pour faire (très) simple, c’est une méthode de partage de données qui fonctionne au niveau du fichier et pas au niveau du système de fichiers. Le client (un smartphone, une Switch, etc.) va lister ses fichiers et gérer le nécessaire pour les transferts. L’intérêt principal, c’est qu’un débranchement sauvage n’a aucun impact sur les données : le MTP n’est pas assez bas niveau. C’est moins souple qu’un transfert dans le mode classique, qui donne un accès direct au système de fichiers, mais c’est donc beaucoup plus sûr. Et c’est surtout le mode choisi par Google pour Android.

Côté Apple, la prise en charge du protocole MTP est récente, partielle… et cassée. Récente parce que ça date seulement de macOS Monterey. Partielle parce qu’elle se limite aux images, à travers Transfert d’images. Cassé parce qu’avec la Nintendo Switch, ça ne marche plus.

J’ai testé avec deux appareils : une Nintendo Switch et un smartphone Android (Poco F3). Avant Monterey, ça ne fonctionne tout simplement pas : la Nintendo Switch n’affiche rien et le smartphone liste juste les dossiers, mais sans possibilités d’y accéder.

Sous Big Sur, ça ne marche pas avec le smartphone

Sous macOS Monterey, ça fonctionne avec la Nintendo Switch (on peut importer les images) mais pas avec le smartphone. Il n’affiche que les dossiers, sans possibilités d’importer le contenu.

Idem sous Monterey


Mais la Switch marche

Sous macOS Ventura et avec la bêta de macOS Sonoma, ça fonctionne avec le smartphone mais pas la Nintendo Switch. Il y a une erreur sous Ventura (liée en théorie aux droits du programme, l’erreur -9934) et pas d’erreurs sous Sonoma, mais un programme qui tourne en boucle. Ce n’est pas parfait avec le smartphone : il affiche des tas de fichiers qui ne sont pas des images et qui devraient probablement êtres invisibles (le nom commence par un .).

Sous Ventura, ça marche avec le smartphone


Mais pas avec la Switch


Sous Sonoma, ça fonctionne avec le smartphone


Mais pas avec la Switch (ça tourne dans le vide)

Sur l’iPad

Avec un iPad M2, ça fonctionne plus ou moins, mais comme avec macOS Ventura, c’est cassé.

Avec le smartphone Android : si j’utilise un câble USB-C vers USB-C, ça fonctionne et je peux importer les photos (sans les bugs de Transfert d’images sous macOS). Avec un adaptateur USB-C vers USB-A puis un USB-A vers USB-C ? Rien, le smartphone tente de se charger et c’est tout.

Le smartphone

Avec la Nintendo Switch : si j’utilise un câble USB-C vers USB-C, ça ne fonctionne pas et la console ne se connecte pas : l’iPad tente de se charger sur la console. Avec un adaptateur USB-C vers USB-A puis un USB-A vers USB-C ? Si l’adaptateur est du côté de l’iPad (c’est technique), la Nintendo Switch est bien vue, mais l’import en MTP d’iPadOS 16 est cassé comme celui de macOS Ventura : l’import échoue.

Impossible d’importer.


La console apparaît dans Photos

Avec l’outil de Google

Une des solutions, c’est le vieux Android File Transfer de Google, qui fonctionne encore. C’est moche, pas très optimisé, mais efficace. Et contrairement à Transfert d’images, il est possible d’envoyer des données vers le périphérique.

La Switch


Le smartphone