Partager via


Considérations relatives à la plateforme 32/64 bits

Alors qu’iOS et macOS ont historiquement pris en charge les applications 32 et 64 bits, Apple a progressivement déprécié la prise en charge 32 bits.

À compter d’iOS 11, les applications 32 bits ne seront plus lancées, et toutes les soumissions au App Store doivent prendre en charge la version 64 bits.

À compter de janvier 2018, les nouvelles applications soumises à l’App Store Mac doivent prendre en charge la version 64 bits, et les applications existantes doivent être mises à jour d’ici juin 2018.

L’API classique de Xamarin (XamMac.dll et monotouch.dll) prenait uniquement en charge les applications 32 bits. Toutefois, les nouvelles applications Xamarin.iOS et Xamarin.Mac utilisent l’API Unifiée (Xamarin.iOS et Xamarin.Mac) par défaut, et peuvent donc cibler les deux versions 32 et 64 bits, si nécessaire.

iOS

Activation des builds 64 bits des applications Xamarin.iOS

Avertissement

Cette section est incluse pour des raisons historiques et pour faciliter le déplacement d’anciens projets Xamarin.iOS vers l’API Unifiée et la prise en charge de la version 64 bits. Tous les nouveaux projets Xamarin.iOS utilisent l’API unifiée et ciblent 64 bits par défaut.

Pour les applications mobiles Xamarin.iOS qui ont été converties en API Unifiée, les développeurs doivent mettre à jour manuellement les paramètres de build pour cibler 64 bits :

  1. Dans le panneau Solutions, double-cliquez sur le projet de l’application pour ouvrir la fenêtre Options du projet .

  2. Sélectionnez Build iOS.

  3. Pour le simulateur iPhone, dans la liste déroulante Architectures prises en charge , sélectionnez x86_64 ou i386 + x86_64 :

    Définition des architectures prises en charge sur x86_64 ou i386 + x86_64

  4. Pour les appareils physiques, sélectionnez l’une des combinaisons ARM64 disponibles :

    Définition des architectures prises en charge sur l’une des combinaisons ARM64

  5. Cliquez sur OK.

  6. Optez pour une build propre.

ARMv7s est pris en charge uniquement par le processeur A6 inclus dans l’iPhone 5 (ou version ultérieure). Le code ARMv7 est plus rapide et plus petit que l’ARMv6, fonctionne uniquement avec l’iPhone 3GS et versions ultérieures, et est requis par Apple pour cibler l’iPad ou une version iOS minimale de 5.0. ARMv6 fonctionne sur tous les appareils, mais n’est plus pris en charge par le compilateur fourni avec Xcode 4.5 et versions ultérieures.

ARM64 est requis pour prendre en charge iOS 8 sur iPhone 6 ou d’autres appareils 64 bits et sera requis par Apple lors de l’envoi ou de la mise à jour d’applications sortantes dans le App Store iTunes.

Pour un aperçu complet des fonctionnalités de différents appareils iOS, case activée le document de compatibilité des appareils d’Apple.

64 bits et la taille binaire augmentent

Pendant la transition d’Apple de 32 bits à 64 bits, les applications iOS devront s’exécuter sur du matériel 32 bits et 64 bits. Pour cette raison, l’API unifiée de Xamarin permet aux développeurs de cibler les deux.

Le ciblage des architectures 32 bits et 64 bits augmente considérablement la taille d’une application. Toutefois, cela permettra aux appareils plus récents d’exécuter du code optimisé tout en prenant en charge les appareils plus anciens.

Important

Si vous recevez le message suivant lors de l’envoi d’une application iOS à l’App Store iTunes, « AVERTISSEMENT ITMS-9000 : Prise en charge 64 bits manquante. À compter du 1er février 2015, les nouvelles applications iOS chargées sur le App Store doivent inclure la prise en charge 64 bits et être générées avec le Kit de développement logiciel (SDK) iOS 8, inclus dans Xcode 6 ou version ultérieure. Pour activer la version 64 bits dans votre projet, nous vous recommandons d’utiliser le paramètre de build Xcode par défaut « Architectures standard » pour générer un fichier binaire unique avec du code 32 bits et 64 bits. Vous devez basculer les architectures prises en charge vers l’une des combinaisons ARM64 disponibles (comme indiqué ci-dessus), recompiler et renvoyer.

Mac

Important

À compter de janvier 2018, toutes les nouvelles applications Mac soumises au App Store Mac doivent prendre en charge la version 64 bits. Les applications Mac App Store existantes et leurs mises à jour doivent prendre en charge la version 64 bits à compter de juin 2018. Consultez l’annonce d’Apple et un guide qui explique comment mettre à jour vos applications Xamarin.Mac vers 64 bits.

La plupart des ordinateurs Mac modernes prennent en charge les applications 32 bits et 64 bits. MacOS 10.6 (Snow Leopard) a été le dernier système d’exploitation à s’exécuter sur des systèmes 32 bits. La plupart des Mac publiés depuis 2010 prennent en charge les deux systèmes.

Contrairement à iOS, la plupart des nouvelles infrastructures introduites dans les versions récentes de macOS sont uniquement prises en charge en mode 64 bits (CloudKit, EventKit, GameController, LocalAuthentication, MediaLibrary, MultipeerConnectivity, NotificationCenter, GLKit, SpriteKit, Social et MapKit, entre autres).

L’API unifiée permet aux développeurs de choisir le type d’applications qu’ils souhaitent produire : 32 bits ou 64 bits.

Les applications 32 bits s’exécutent sur les ordinateurs Mac 32 bits et 64 bits, ont un espace d’adressage limité à 32 bits et nécessitent que toutes les bibliothèques soient de 32 bits.

Vous utiliserez généralement ce mode si vous avez des dépendances 32 bits qui ne s’exécutent pas en mode 64 bits, si vous souhaitez avoir un téléchargement plus petit ou si le passage à la version 64 bits n’offre aucun avantage en matière de performances.

Ce mode est limité, car vous ne pourrez pas utiliser de nombreux frameworks disponibles dans macOS Mavericks et macOS Yosemite.

Les applications 64 bits s’exécutent uniquement sur les appareils Mac 64 bits.

Pour Mac, il s’agit du mode de fonctionnement préféré, car la plupart des Mac utilisés aujourd’hui prennent en charge le mode 64 bits, et vous avez accès à l’ensemble complet des frameworks fournis par Apple.

Activation des builds 64 bits des applications Xamarin.Mac

Pour plus d’informations sur la création d’une application 64 bits à l’aide de Xamarin.Mac, consultez le guide Mise à jour d’applications unifiées Xamarin.Mac vers 64 bits .