iPhone Duo · Coût

Coût d’adaptation d’une app iPhone pliable en 2026 : SwiftUI, tests Xcode et prix des Mac

2026.10.13 · environ 14 min

Ne pas estimer le coût d’adaptation à partir des 1 999 dollars de l’iPhone Duo. La facture se coupe en trois couches : travail SwiftUI, tests de poses dans Xcode 27.1, achat ou location d’un Mac. Les mêmes colonnes comparent trois bases de code.

Un développeur tient un téléphone et modifie du code sur un portable, le montage pour comparer les poses pliées et Xcode sur Mac

En août 2026, ce site avait encore un texte sur la date de sortie d’un iPhone pliable. Le nom et la date n’étaient pas fixés. Le 9 septembre, le newsroom d’Apple a nommé le produit iPhone Duo : écran externe de 5,4 pouces, écran interne de 7,6 pouces, le même rapport sur les deux, puce A20 Pro. Le prix de départ aux États-Unis est de 1 999 dollars pour 256 Go, avec 512 Go, 1 To et 2 To au-dessus. Les précommandes ouvrent le 16 octobre à 5 h, heure du Pacifique. Plus de 70 pays et régions, dont la Chine, reçoivent l’appareil le 23 octobre, et 28 autres le 30 octobre. Nous sommes le 13 octobre. Cet article ne devine pas une date. Il répond à une question de planning : combien SwiftUI doit changer, quelles poses Xcode doit couvrir, et si le Mac est un achat ou une location.

3 couches
Code · poses · Mac
23 oct.
Première vague
$100.9
M4 16 Go au mois ; cinq jours y arrivent déjà

Pourquoi le prix de l’appareil est la mauvaise estimation

L’ancienne méthode et la nouvelle se contredisent de façon concrète. L’ancienne méthode dit : acheter un pliable, puis ajouter deux semaines-personne. Les 1 999 dollars ressemblent à un plafond de budget. C’est un actif de recette, pas la quantité d’ingénierie. La nouvelle méthode commence par demander si la mise en page lit encore l’écran. La page de préparation d’Apple est directe : les apps construites avec le SDK iOS 27 ou plus tard changent de taille quand l’iPhone Duo se plie. Les tailles d’écran en dur, les orientations fixes et les hypothèses sur l’appareil étirent, coupent ou déplacent la mise en page.

Le même binaire a trois visages selon le palier de SDK. C’est la première coupe du coût, pas un goût de design. La comparaison d’Apple : un build SDK iOS 26 ou antérieur démarre encore. Ouvert, la fenêtre reste au centre avec du vide autour. Fermé, le contenu se place à gauche de la barre d’état et de la caméra. Un build SDK iOS 27 remplit la plus grande partie de l’écran interne et évite encore la barre d’état sur le bord droit. Un build SDK iOS 27.1 est l’état optimisé : l’app utilise toute la surface, et les barres d’outils et d’onglets se tiennent à la verticale sous la barre d’état. Une équipe qui ne fait que changer les captures et livre l’ancien SDK montre aux clients un letterbox. Ce n’est pas « nous gérons le pliable ».

La deuxième coupe est la matrice de tests. Sur l’écran externe, les size classes suivent les autres iPhone : portrait regular en vertical et compact en horizontal, paysage compact sur les deux axes. L’écran interne a la place d’une barre latérale, donc les deux axes sont regular. L’écran interne ne respecte pas non plus les orientations d’interface que vous déclarez. Une mise en page qui branche sur UIDevice.current.orientation, statusBarOrientation ou interfaceOrientation prend le mauvais chemin quand l’appareil s’ouvre, se ferme ou entre en Split View. L’instruction d’Apple est de comparer la largeur et la hauteur que vous avez vraiment : view.bounds en UIKit, la taille issue de GeometryReader en SwiftUI.

La troisième coupe est la machine. Le simulateur iPhone Duo dans Xcode 27.1, les commandes ouvrir-fermer-tourner de Device Hub, et le test d’étirement par iPhone Mirroring sur macOS 27 vivent sur un Mac. Cette chaîne n’existe pas sous Windows. Le choix d’un builder est dans la comparaison Xcode Cloud face à un Mac distant. Xcode Cloud sait compiler. Il ne s’assoit pas avec vous dans Device Hub pendant que vous tournez fermé, à moitié plié et ouvert.

Une phrase à citer
La ligne de partage n’est pas le prix de l’appareil. C’est de savoir si la mise en page lit encore UIScreen.main. Le système possède la pose. La fenêtre actuelle possède la taille.

Comment le travail se coupe vraiment

Un seul jalon nommé « supporter le pliable » glissera. Coupez la dépense aux trois endroits où l’argent sort vraiment. S’il manque une couche, le devis mélange les jours-personne et le matériel.

OutilEntréeCe qu’il peut faireContextePour qui
Reprise SwiftUI / UIKitLe code de mise en page du dépôtRetirer le singleton d’écran, les branches d’orientation et les tailles fixes ; rendre les barres à un conteneur de navigationSize classes, safe areas, régions réservées pour le pli et les camérasApps qui sortent ou se mettent à jour autour du 23 octobre
Tests de poses dans Xcode 27.1Simulateur iPhone Duo dans Device HubFermé, à moitié plié, ouvert, chacun tourné une fois ; étirement de fenêtre optionnel sur macOS 27Letterbox, marge de barre d’état, ou barres verticales plein cadre, selon le palier de SDKÉquipes qui veulent une feuille de régression, pas une vidéo de démo
Nœud MacLa machine que vous avez, un achat, ou une locationInstaller Xcode sur un macOS qui l’accepte, puis lancer simulateurs et signatureDerivedData, runtimes de simulateur, certificatsPas d’Apple Silicon libre, ou la machine du quotidien ne peut pas céder le disque

SwiftUI n’est pas une dispense automatique. Les Human Interface Guidelines disent que si vous utilisez déjà les composants système standard et que la mise en page change de taille, les poses suivent sans un design sur mesure pour chacune. Largeur compact sur l’écran externe et largeur regular sur l’écran interne sont la base de chaque pose. Les largeurs fixes, les branches sur la hauteur de l’appareil et les barres que vous dessinez vous-même ne bougent pas. La page de préparation demande de chercher UIScreen.main, userInterfaceIdiom == .phone ou .pad, tout chemin qui traite la largeur regular comme « c’est un iPad », et des comparaisons telles que bounds.height == 844.

Une mesure passe facilement, et elle explique l’interdit officiel. Une sonde publique du profil simulateur Xcode 27.1 a donné l’écran externe à 466 par 678 points et l’écran interne à 669 par 951 points, les deux à 3x, et a vu UIScreen.main.bounds continuer à rapporter les 466 par 678 externes alors que l’app était déjà sur l’écran interne. Ces nombres expliquent la règle. Ils ne sont pas une nouvelle série de tests == 466. Dans la pose à moitié pliée, la division centrale devient une occlusion active ; la même sonde a placé cette bande vers 40 points. Lisez ReservedRegion dans votre propre Xcode. Ne collez pas une constante de blog dans l’app.

N’épinglez pas une UIToolbar, une UINavigationBar ou une UITabBar sur la vue vous-même. En SwiftUI, ajoutez toolbar à un NavigationStack ou à une NavigationSplitView. En UIKit, posez les items de toolbar sur un view controller dans un navigation controller. Après que 27.1 met ces barres à la verticale, une barre maison reste en travers du contenu. Le pli et les caméras sont des régions réservées : SwiftUI lit ReservedRegion depuis un GeometryProxy. Quand il vous faut un côte à côte ou un recouvrement, utilisez les styles split et overlay d’ArrangementView, pas un second arbre de vues qui n’apparaît que si un booléen nommé « déplié » est vrai.

Relire la taille à chaque pli (esquisse)
import SwiftUI

struct DuoRoot: View {
    @Environment(\.horizontalSizeClass) private var width

    var body: some View {
        NavigationSplitView {
            Sidebar()
        } detail: {
            Detail()
                .onGeometryChange(for: CGSize.self) { proxy in
                    proxy.size
                } action: { size in
                    // Fold changes size mid-session. Do not cache UIScreen.main.bounds.
                    relayout(size, regularWidth: width == .regular)
                }
        }
        .toolbar {
            ToolbarItem(placement: .primaryAction) {
                Button("Save", action: save)
            }
        }
    }
}

Ce n’est pas un projet fini. Cela fixe trois décisions. La séparation passe par NavigationSplitView, pour qu’une barre latérale puisse apparaître en largeur regular et se replier en largeur compact. La taille est relue avec onGeometryChange au milieu d’un pli, pas mise en cache depuis UIScreen.main.bounds au lancement. Le bouton Enregistrer est un item de toolbar système, pour que le SDK 27.1 puisse le dresser sous la barre d’état. Les images plein cadre en fill coupent le sujet sur l’écran interne plus large. Basculez entre fill et fit selon la size class ou le rapport actuel, ou posez un point focal.

Planning, matrice de tests et argent du Mac

La vraie différence est de savoir si le code suppose encore qu’un téléphone n’a qu’un écran, pas si le design veut une animation de pli. Les deux tableaux utilisent les mêmes colonnes. Les semaines sont des estimations de planning, pas des devis de prestataire. Le nombre d’écrans et le dessin sur mesure les déplacent. Les prix Mac sont les chiffres en dollars américains de la page tarifs de ce site. La ligne d’achat est une autre machine, donc pas un seuil d’équilibre tant que cette phrase n’est pas attachée.

OutilEntréeCe qu’il peut faireContextePour qui
SwiftUI déjà adaptatifSize classes, navigation système, pas de UIScreen.mainVérifier barres verticales, régions du pli, points focaux plein cadreSe ferme en 3 à 7 jours ouvrésPetites apps qui ont déjà tenu le split view iPad
SwiftUI et UIKit mêlésFrames fixes et barres maison restentRemplacer taille d’écran et tests d’orientation ; rendre les barres aux conteneurs2 à 4 semaines, plus un passage d’étirementProduits SwiftUI avec des coins UIKit
UIKit à taille fixeBranches sur 393, 844, ou une liste d’appareilsReconstruire les conteneurs, safe areas asymétriques, retirer les tests d’idiomUn inventaire d’écrans sur 4 à 8 semainesBoutiques et outils dessinés des années pour une seule vitre iPhone
OutilEntréeCe qu’il peut faireContextePour qui
Mac Apple Silicon déjà làXcode localChaque pose du simulateur ; USB si vous avez un appareilZéro matériel ajouté, mais DerivedData dispute le disque du quotidienUn passage d’adaptation, et la machine lance déjà le Xcode visé
M4 16 Go à la journéeBureau distantUn passage Device Hub20,2 dollars par jour. Cinq jours ouvrés font 101 dollarsLe palier adaptatif, et vous finissez vraiment vendredi
M4 16 Go à la semaineBureau distantUne semaine civile de régression54,5 dollars par semaine. Deux semaines font 109 dollarsVous ne savez pas si vendredi tient
M4 16 Go ou 24 Go au moisBureau distantLa machine de régression pour toute la reprise ; 24 Go tient plus de simulateurs à la fois100,9 ou 200,9 dollars par moisCode mêlé ou à taille fixe, compté en semaines
Acheter un Mac mini M6Un actif localXcode et CI chaque jour après la fin du travail DuoPrix de départ US 899 dollars, éducation 799. Annoncé le 25 août 2026, livraison dès le 22 septembreMachines partagées dont les sorties ne s’arrêtent pas après Duo

Multipliez le tarif jour et le résultat n’est pas celui qu’on attend. Sur 16 Go, 20,2 fois 5 font 101,0, ce qui égale déjà le mois à 100,9 dollars. 20,2 fois 7 font 141,4, au-dessus de la semaine et du mois. Deux semaines à 54,5 font 109,0, encore un peu au-dessus d’un mois. La ligne 24 Go fait la même chose : 40,2 fois 5 font 201,0, contre un mois à 200,9 dollars. « Essayer à la journée » n’est raisonnable que si le passage se ferme en un jour ou deux. Au moment où le scan du skill, au jour deux, liste une série de UIScreen.main, la période de facturation doit devenir un mois. Payer le tarif jour jusqu’au jour huit achète un choix de facturation, pas plus de tests.

Neuf mois à 100,9 font 908,1, numériquement proche du prix de départ US de 899 dollars d’un Mac mini M6. Ce ne sont pas les mêmes ordinateurs. La location est un M4 de 16 Go sur un nœud distant. L’achat est la configuration d’entrée M6, avant écran, clavier et taxe. Neuf mois ne sont pas un seuil d’équilibre. Acheter gagne quand ce Mac compile encore chaque jour après la fin de l’adaptation, pas quand il reste inactif une fois les poses Duo faites. Une discussion plus longue achat ou location, écrite pour le travail de labo, est dans acheter ou louer pour la recherche. La charge développeur est dans le Mac mini M6 convient-il aux développeurs.

Cet article ne convertit pas les jours-personne en dollars. Les tarifs locaux diffèrent d’un ordre de grandeur, et une ligne « la reprise coûte de 8 000 à 25 000 dollars » transforme la décision en devis de quelqu’un d’autre. Ce qui peut entrer dans le tableau, c’est la ligne Mac. Sur une reprise mêlée de quatre semaines, le mois est de 100,9 dollars. Si quelqu’un achète à la place 20 jours ouvrés au tarif jour, la même ligne devient 404 dollars. Le temps d’ingénierie reste le grand nombre. La machine est le petit. N’achetez pas un téléphone à 1 999 dollars pour éviter une facture Mac de 100 dollars, et n’achetez pas un Mac mini à 899 dollars pour un audit de cinq jours.

Quel chemin pour quelle équipe

Si vouschoisissezPourquoi
n’avez que du SwiftUI, déjà correct en split view iPadle Mac que vous avez, ou un jour de location, et lancez d’abord le skillLa base est là. Il reste les barres verticales, les régions réservées et les images plein cadre
voyez au jour deux une liste de UIScreen.mainpassez tout de suite au moisCinq jours ouvrés au tarif jour égalent déjà un mois
avez une boutique UIKit à largeurs fixesle mois 24 Go, et une liste d’écrans sur 4 à 8 semainesDuo plus les autres simulateurs mangeront d’abord les 16 Go
voulez seulement rafraîchir les captures App Storeposez d’abord le SDK 27.1, puis remplacez les visuelsL’écran interne de l’ancien SDK est un letterbox. Une belle image est un autre appareil
avez déjà la CI sur Xcode Cloudgardez Cloud pour compiler ; mettez la régression des poses sur un Mac distantDevice Hub interactif n’est pas dans le journal de build
n’avez pas de Mac au bureaulouez-en un, et lisez d’abord sw_vers et xcodebuild -versionUn jour où Xcode ne s’installe pas n’est pas un jour de test
continuez les sorties après Duocomparez un achat M6 ensuite, pas en semaine un899 dollars achètent l’usage plus tard, pas ce passage de poses

Gardez l’appareil sur sa propre ligne. 1 999 dollars sont le départ US en 256 Go. Le 28 septembre, MacRumors a listé les paliers US supérieurs à 2 199, 2 599 et 3 199 dollars. Commandez depuis la page Apple Store que vous voyez vraiment, et ne collez pas des chiffres US sur un prix Chine. Un appareil suffit pour le ressenti de la charnière et pour les points qu’une note de simulateur ne reproduit pas. Un Duo sur chaque bureau n’efface pas UIScreen.main.

Trois piles

A — indépendant, déjà adaptatif : Xcode 27.1 sur la machine que vous avez, ou un jour distant. Lancez l’invite de la page de préparation, « get my app ready for iPhone Duo ». Le skill cherche UIScreen.main, l’orientation et l’idiom. Si le rapport est vide, allez dans Device Hub et faites fermé, à moitié plié et ouvert. Prévisualisez les visuels du store dans App Store Connect. N’achetez pas un M6 pour ce passage.

B — petite équipe, code mêlé : La semaine un est le scan et le singleton d’écran. Prenez une semaine ou allez droit au mois. Ne laissez pas le tarif jour atteindre le jour sept. Les semaines deux et trois rendent les barres au système et ajoutent les régions réservées. La semaine quatre écrit la matrice de poses dans la régression : une image de chaque chemin principal dans chaque pose. La CI reste sur le builder existant. La session où une personne regarde la charnière est un Mac distant, et DerivedData est effacé à la fin pour qu’un cache chaud ne compte pas comme un passage. Le mois 24 Go à 200,9 dollars est pour les équipes qui doivent garder Duo et les autres simulateurs ouverts ensemble.

C — il vous faut un build la semaine du lancement : Nous sommes le 13 octobre, les précommandes sont le 16, les magasins le 23. Ce que vous pouvez promettre : le chemin principal sur le SDK 27.1 n’est pas en letterbox, les barres verticales ne couvrent pas le bouton principal, et le sujet plein cadre est encore dans le cadre. Ne mettez pas dans le texte du store une animation de pli que vous n’avez pas finie. Les prix mensuels des nœuds sont sur les tarifs Mac mini, et la commande sur la page de location. Les questions de système et de compte vont au centre d’aide. Ne supposez pas que l’image de location a déjà Xcode 27.1 installé.

Erreurs qui apparaissent sur la facture

  1. Livrer le SDK iOS 26 et appeler cela fini. L’app se lance. L’écran interne est vide autour de la fenêtre. Les clients ne liront pas ce vide comme « adaptation en cours ».
  2. Réparer l’écran externe avec UIScreen.main. Après le dépliage, le singleton de l’écran principal peut encore rapporter la taille externe. Vous mettez alors en page une zone de 951 points de large comme si elle faisait 466 points.
  3. Utiliser l’orientation pour portrait et paysage. L’écran interne ne respecte pas les orientations supportées. Prenez le rapport de la fenêtre que vous avez.
  4. Traiter la largeur regular comme réservée à l’iPad. L’écran interne Duo fera sortir la mise en page iPad que vous aviez cachée, y compris une densité de barre latérale qui n’a pas sa place sur un téléphone.
  5. Payer le tarif jour pendant une semaine entière. Cinq jours ouvrés sur 16 Go égalent déjà le mois. Le jour huit paie la période de facturation, pas plus de tests.
  6. Écrire 1 999 dollars dans chaque ticket, ou ne prévoir aucun appareil. L’appareil est une ligne pour la recette de la charnière. Ce n’est pas le prix unitaire de la reprise. Le simulateur reste le chemin de mise en page qu’Apple nomme.

Sept étapes

  1. Construisez les mêmes sources contre chaque SDK que vous pouvez installer. Notez letterbox, barre d’état sur le bord droit, ou barres verticales plein cadre. La cible est 27.1.
  2. Cherchez UIScreen.main, UIDevice.current.orientation, statusBarOrientation, interfaceOrientation, userInterfaceIdiom, et des constantes de hauteur comme 844, 852 et 932.
  3. Demandez à l’assistant de code de Xcode de lancer App Resizability, ou exportez le skill avec xcrun agent skills export pour un autre agent. Le skill trouve la plupart des problèmes. La liste ci-dessus attrape le reste.
  4. Ouvrez l’iPhone Duo dans Device Hub. Tournez fermé, à moitié plié et ouvert. Gardez une image par case des chemins principaux.
  5. Vérifiez que les barres d’outils se tiennent sous la barre d’état, que les régions de pli et de caméra ne couvrent pas les boutons, et que le sujet plein cadre est encore visible.
  6. Remplacez les assets App Store selon la spec de captures Duo et prévisualisez-les dans App Store Connect. Ne mettez pas à l’échelle une toile iPhone 18 en espérant.
  7. Choisissez la durée Mac. Un ou deux jours peuvent être le tarif jour. Un scan sale vous passe au mois. Comparez le départ M6 à 899 dollars seulement si la machine compilera chaque jour ensuite. Avant de commander, lancez sw_vers et xcodebuild -version sur le nœud.

FAQ

Une app inchangée se lance-t-elle sur l’iPhone Duo ?

Oui. Avec le SDK iOS 26 ou antérieur, la fenêtre ouverte reste au centre avec du vide autour, et fermée le contenu se place à gauche de la barre d’état et de la caméra. Lancer n’est pas adapter. Le plein cadre et les barres verticales demandent le SDK iOS 27.1.

Faut-il passer au SDK iOS 27.1 ?

Remplir l’écran interne, avec barres d’outils et d’onglets verticales sous la barre d’état, exige 27.1. Confirmez que le contenu survit à ces barres avant la sortie. De nouvelles captures sur un binaire d’ancien SDK montrent encore un letterbox.

Le simulateur suffit-il ?

Il suffit pour le chemin de mise en page. Apple appelle le simulateur iPhone Duo de Xcode 27.1 le meilleur moyen de tester l’expérience native complète, et Device Hub peut ouvrir, fermer, tourner et plier. Le ressenti de la charnière demande du matériel. 1 999 dollars sont cette ligne. Ne les étalez pas sur chaque ticket SwiftUI.

Peut-on faire cette adaptation sans Mac ?

Xcode 27.1 ne tourne pas sous Windows. Un M4 de 16 Go coûte 20,2 dollars par jour, et cinq jours ouvrés égalent le mois à 100,9 dollars. Confirmez que le macOS du nœud installe le Xcode figé. Les exigences système restent sur les exigences système Xcode d’Apple. La page de préparation place le test d’étirement iPhone Mirroring sur macOS 27.

SwiftUI s’adapte-t-il seul au pliage ?

La navigation système, les size classes et les composants standard suivent la pose. Les cadres fixes, les barres maison, les tests d’orientation et UIScreen.main non. L’écran interne est en largeur regular, donc des mises en page qui voulaient dire iPad apparaissent sur ce téléphone.

Conclusion

L’iPhone Duo est en magasin le 23 octobre. Le coût d’adaptation n’est pas la ligne à 1 999 dollars. Lisez d’abord le palier de SDK et UIScreen.main, planifiez ensuite les trois poses, et laissez « cinq tarifs jour égalent un mois » choisir la durée Mac. Une petite app adaptative utilise la machine que vous avez ou une location courte. Le code mêlé et à taille fixe garde un mois pour que la régression survive. Comparez un achat M6 seulement si les sorties ne s’arrêteront pas. Les nœuds distants sont sur la page de location et la page des tarifs. Comptes et versions de système passent par le centre d’aide.

Lectures

La régression des poses exige un Mac dont le système accepte Xcode

Le simulateur iPhone Duo vit dans Xcode, pas sous Windows. Un Mac distant isole DerivedData par session. Fermé, à moitié plié, ouvert, puis on efface la machine. Vérifier le macOS du nœud avant de lancer le compteur.

Commander · Voir les tarifs

iPhone Duo · Coût

La régression des poses exige un Mac dont le système accepte Xcode

Cloud Mac · Xcode 27.1 · iPhone Duo

Commander
Mac Commander