iPhone Duo · До продаж

Нужно ли заново адаптировать iOS-приложение до старта продаж iPhone Duo? 2026 размеры, ориентация, мультиокно и стоимость тестов Xcode

2026.10.15 · около 14 мин

До старта продаж заново адаптировать нужно не каждое приложение, которое открывается, а то, которое всё ещё верстает по экрану, ориентации или одному окну. Дальше приёмка идёт по четырём воротам: размеры, ориентация, мультиокно и стоимость тестов Xcode, и отдельно отмечен объём, который ещё можно обещать за неделю до продаж.

Две руки держат телефон, чтобы сверить внешний экран, внутренний экран, ориентацию и Split View, которые надо проверить до старта продаж iPhone Duo

Сегодня 15 октября 2026. На странице продукта Apple написано: предзаказ 16 октября в 5:00 по тихоокеанскому времени, продажи с 23 октября. Новость для разработчиков от 5 октября уже разрешает заново собрать проект в Xcode 27.1 и отправить его. С апреля 2027 новые отправки ещё и должны включать скриншоты iPhone Duo. Запуск говорит только о том, что старый бинарник ещё жив. Он не говорит, что внутренний экран заполнен. Он не говорит, что ветка портрета или альбома выбрана верно. Он не говорит, что при Split View главная кнопка всё ещё внутри безопасной зоны. Текст от 13 октября считал срок переделки вместе с покупкой Mac. Эта статья отвечает только на вопрос до старта продаж: нужно ли менять код и сколько должен стоить этот проход тестов.

4 ворот
Размер · ориентация · окно · тест
5,4 / 7,6
Внешний и внутренний, дюймы
$20.2
M4 16 ГБ в день, пять дней равны месяцу

Почему запуск ещё не равен повторной адаптации

Старое суждение и новое упираются в одну и ту же фразу отзыва. Старое суждение — «в симуляторе запускается, плохие отзывы посмотрим после старта продаж». Новое суждение сначала смотрит, какой факт вёрстка всё ещё читает: весь экран, ориентацию устройства или текущее одно окно. Страница подготовки Apple прямая: приложения, собранные на SDK iOS 27 и новее, меняют размер, когда Duo складывается. Жёстко заданные размеры экрана, фиксированная ориентация и допущения об устройстве растягивают вёрстку, обрезают её или ставят не на место.

Одни и те же исходники выглядят по-разному на трёх уровнях SDK. Это первый разрез до старта продаж, а не вкус дизайна. Сборка на SDK iOS 26 или старше запускается. После раскрытия окно сидит по центру, и вокруг пустое поле. После закрытия контент уходит влево от статус-бара и камеры. Сборка на SDK iOS 27 заполняет большую часть внутреннего экрана и всё ещё избегает статус-бара на правом крае. Оптимизированное состояние начинается с SDK iOS 27.1 и новее: контент занимает всю область отображения, а панели инструментов и вкладок стоят вертикально под статус-баром. Команда, которая только меняет скриншоты магазина, а бинарник остаётся на старом SDK, показывает пользователю пустое поле, когда тот открывает внутренний экран. Пустое поле не прочитают как «адаптируем на следующей неделе».

Второй разрез: окно не равно экрану, а ориентация не равна форме. Страница подготовки требует перечитывать размер при каждом изменении. Одного чтения в viewIsAppearing мало, потому что складывание происходит в середине сессии. В UIKit вёрстку, которая зависит от размера, кладут в layoutSubviews или viewDidLayoutSubviews. Работу в момент смены размера делают в viewWillTransition(to:with:). В SwiftUI берут GeometryReader или onGeometryChange. Масштаб берут из trait collection, а не из UIScreen.main.scale. На устройстве с двумя экранами смысл main screen размыт, и Apple говорит, что он будет объявлен устаревшим в будущей версии.

Третий разрез — тестовая машина. Симулятор iPhone Duo в Xcode 27.1, открытие, закрытие и поворот внизу Device Hub и крайнее растяжение iPhone Mirroring на macOS 27 живут на Mac. Этой цепочки нет в Windows. Как команда выбирает сборщик, написано в сравнении Xcode Cloud и удалённого Mac. Xcode Cloud умеет собирать пакет. Он не заменяет вас перед Device Hub, пока вы поворачиваете закрытое, полусложенное и открытое по одному разу, а затем перетаскиваете Split View слева направо.

Фраза, которую можно процитировать
Водораздел — не отдельный интерфейс, нарисованный заново под складной экран. Это вопрос, остаются ли размер, ориентация и число окон жёстко заданными. Модель живёт в системных компонентах. Форма живёт в текущем окне.

Как разложить размеры складного экрана, ориентацию и мультиокно

Одна веха под названием «поддержать iPhone Duo» в графике до старта продаж обязательно съедет. Разделите работу по четырём воротам, в которые пользователь реально упирается. Если не хватает одних ворот, вы запишете «компилируется» как «уже адаптировано».

ИнструментВходЧто он можетКонтекстКому подходит
Размеры складного экранаВнешний экран, внутренний экран, текущее окноВерстать по size class и bounds, не зашивать пиксели или дюймыРазрешение со страницы спецификации нужно только чтобы понять порядок величиныЛюбой код, который всё ещё сравнивает bounds.height == 844
ОриентацияОбъявление ориентации внешнего экрана; соотношение сторон внутреннегоВнешний экран соблюдает поддерживаемые ориентации; внутренний не соблюдает, включая Split ViewПоза «палатка» заставляет положить закрытый телефон набокЭкраны, которые переключают вёрстку по interfaceOrientation
МультиокноSplit View, вторая сцена, аксессуар сценыВсе приложения встают рядом; новое окно только на внутреннем экранеЗапрос новой сцены с внешнего экрана завершится неудачейПриложения, которые перенесли кнопку «новое окно» с iPad как есть
Тесты XcodeDevice Hub в Xcode 27.1Три позы, поворот, Split View слева и справа, второй запрос сценыПять рабочих дней по дневной ставке равны месяцу на 16 ГБТем, кому нужна таблица регрессии до 23 октября

Размер: два экрана и окно, которое меняется

Страница спецификации фиксирует цифры, а код вёрстки не должен фиксировать их вслед за ней. Внешний экран — 5,4 дюйма Super Retina XDR, разрешение 1398×2034 при 460 ppi. В закрытом виде корпус 117,8 × 84,1 × 11,3 мм: это высота, ширина и толщина. Внутренний экран — 7,6 дюйма складной Super Retina XDR, разрешение 1878×2670 при 430 ppi, с нанотекстурой. В открытом виде высота по-прежнему 117,8 мм, корпус 117,8 × 164,6 × 5,2 мм, вес 254 г. Apple прямо пишет, что соотношение сторон у обоих экранов одинаковое и контент масштабируется пропорционально. Измерение по стандартному прямоугольнику даёт примерно 5,36 и 7,58 дюйма. Реальная видимая область меньше, скругления лежат внутри прямоугольника.

Вёрстка должна читать size class. Внешний экран как у других iPhone: в портрете regular по вертикали и compact по горизонтали, в альбоме compact по обеим осям. На внутреннем экране и горизонталь, и вертикаль regular, и для боковой панели есть место. Окно может стать ещё меньше. Split View, полусложенная поза и растяжение iPhone Mirroring делают окно неравным целому экрану. Поэтому пиксели со страницы спецификации — порядок величины, а не константа. Масштаб берут из traitCollection.displayScale или displayScale в SwiftUI. Не пишите 1398 или 1878 в сравнение через ==.

Ещё два системных поведения легко смешать с «размером экрана». Скругления идут через Concentricity из iOS 26: в SwiftUI это ConcentricRectangle, в UIKit — UICornerConfiguration. Для сгиба и камеры берут зарезервированные области, а не собственный замер шва. SwiftUI берёт ReservedRegion из геометрического прокси, UIKit использует UIViewReservedRegion. Угол шарнира — отдельный канал: onHingeChange и UIHingeInteraction дают closed, partially open, fully open и непрерывный угол. Apple говорит, что угол годится для анимации, а вёрстка идёт через arrangement и зарезервированные области. Если менять frame по углу, на первой неделе продаж полусложенная поза начнёт дрожать.

Ориентация: внешний экран слушается, внутренний нет

Tech Talk на странице подготовки сводит ориентацию к двум фразам. Ориентация интерфейса на внешнем экране такая же, как у других iPhone, и Duo заодно даёт шанс добрать альбомный режим, потому что закрытый телефон иногда кладут набок, как палатку. Внутренний экран не соблюдает поддерживаемые ориентации, которые вы объявили в Info. Как и с idiom, не делайте ветку вёрстки по ориентации. Чтобы узнать, шире ли окно, чем оно высоко, сравнивайте ширину и высоту, которые у вас есть на самом деле: view.bounds в контроллере, superview.bounds в самом вью, размер GeometryReader в SwiftUI.

Свойства, которые надо вычистить поиском: UIDevice.current.orientation, statusBarOrientation и interfaceOrientation, включая windowScene.effectiveGeometry.interfaceOrientation. Human Interface Guidelines добавляют фразу про непрерывный опыт: при горизонтальном положении элементы управления остаются сбоку и держат ту же вертикальную высоту, а не перестраивают всю страницу, как только телефон повернули. Стандартные системные компоненты делают это сами. Панель, которую вы рисуете сами, этого не делает.

UIRequiresFullScreen по-прежнему действует, но при открытии и закрытии приложение всё равно меняет размер. Другую фразу легче прочитать неверно: Duo уважает объявленные вами поддерживаемые ориентации, однако приложение на внутреннем экране всё равно масштабируется, и в Split View тоже. Поэтому фраза «я заблокировал портрет, внутренний экран не станет шире» неверна. Безопасная зона часто несимметрична. В альбоме и в Split View вертикальный ряд кнопок может оказаться слева. Если умножить левый inset на два и так вывести ширину, кнопка выедет за экран с другой стороны. Вычитайте каждую сторону отдельно.

Мультиокно: Split View по умолчанию, второе окно нет

Tech Talk про мультиокно говорит буквально: все приложения участвуют в многозадачности на Duo, два приложения могут стоять рядом. У тех, кто уже делал смену размера для iPad или iPhone Mirroring, старт лучше. Есть ещё новая раскладка, которая накладывает видео и приложение друг на друга. Её обрабатывают так же, как Split View: всё ещё читают size class и геометрию сцены и не пишут ради неё отдельную ветку «это видео».

Duo — первый iPhone, который поддерживает несколько экземпляров интерфейса одного приложения. То, что умеет открывать новое окно на iPad, умеет и здесь. Разница одна: внешний экран не может создать новое окно, это поведение оставлено внутреннему экрану. Запрос новой сцены обязан обработать неудачу. Используйте UIWindowSceneActivationAction: он сам скрывается, когда новое окно недоступно, вместо кнопки, которая по нажатию показывает ошибку. Аксессуар сцены — третий путь: дополнительный интерфейс появляется на другом экране. CameraCaptureAccessory у камеры кладёт дополнительный интерфейс на внешний экран, основной остаётся на внутреннем во весь экран, и нужна идущая сессия камеры. После закрытия аксессуар недоступен, и кнопку надо выключить через onAvailabilityChange. Это бонус для приложения камеры. Split View — не бонус. Это поведение по умолчанию для всех приложений.

Форму читает окно, шарнир только двигает эффект (набросок)
import SwiftUI

struct LaunchCheck: View {
    @Environment(\.horizontalSizeClass) private var widthClass

    var body: some View {
        GeometryReader { proxy in
            let wider = proxy.size.width > proxy.size.height
            Root(regularWidth: widthClass == .regular, widerThanTall: wider)
        }
        .onHingeChange { _, context in
            guard let hinge = context.hinge, hinge.status == .partiallyOpen else { return }
            // hinge.angle drives an effect. Do not lay out from the angle.
            playBend(hinge.angle)
        }
    }
}

Это не шаблон проекта. Фрагмент фиксирует три вещи. При regular-ширине на внутреннем экране можно показать боковую панель, при compact на внешнем её убирают. Портрет и альбом смотрят, какая сторона текущего окна длиннее, и не смотрят на ориентацию. Угол шарнира двигает эффект только в полусложенной позе, вёрстка по-прежнему идёт через size class и bounds. Кнопку второго окна отдайте действию активации, которое скрывается само. Не оставляйте на внешнем экране вечно нажимаемое «новое окно».

Главное сравнение: размер, ориентация, окно и стоимость тестов

Настоящая разница в том, предполагает ли код до сих пор, что у телефона один экран, одна ориентация и одно окно, а не в том, хочет ли дизайнер анимацию сгиба. Обе таблицы ниже используют одни и те же столбцы. Стоимость тестов — долларовые цены M4 на 16 ГБ и 24 ГБ со страницы тарифов этого сайта: день 20,2 и 40,2, неделя 54,5 и 108,5, месяц 100,9 и 200,9. Человеко-дни в этой статье в доллары не переводятся. Ступени срока и сравнение с покупкой лежат в тексте о стоимости адаптации от 13 октября.

ИнструментВходЧто он можетКонтекстКому подходит
Только пересборка на 27.1Size class уже есть, синглтона экрана нетСверить вертикальные панели, зарезервированные области, фокус полноэкранных картинок, Split View слева и справаСкан чистый, за день можно закрытьПриложения, которые уже переживали Split View на iPad или масштабирование iPhone Mirroring
Ветка ориентации ещё на местеinterfaceOrientation решает вёрсткуЗаменить сравнением ширины и высоты; альбом внешнего экрана отдельно посмотреть в позе «палатка»Внутренний экран не соблюдает поддерживаемые ориентации, блокировка портрета не мешает ему стать ширеНовости, чтение и плееры с кучей if на альбом
Допущение одного окна«Новое окно» с iPad перенесено как естьНа внешнем экране скрыть вход; на внутреннем обработать неудачу создания; Split View считать поведением по умолчаниюВторой экземпляр законен только на внутреннем экранеДокументы, почта, инструменты дизайна
Фиксированные пиксели844, 1398 или таблица моделейПересобрать контейнеры, несимметричный inset, убрать idiomРазрешение со страницы спецификации нельзя писать в константуМагазины, которые годами рисовали под одно стекло iPhone
ИнструментВходЧто он можетКонтекстКому подходит
Apple Silicon, который уже естьЛокальный Xcode 27.1Полная матрица симулятораДобавленная плата за устройство равна 0, но DerivedData спорит с повседневным дискомМашина уже ставит закреплённый вами Xcode
M4 16 ГБ посуточноУдалённый рабочий столОдин проход Device Hub20,2 доллара в день. Пять рабочих дней — 101,0 доллараСкан чистый, и вы правда закрываете за два дня
M4 16 ГБ понедельноУдалённый рабочий столОдна календарная неделя54,5 доллара в неделю. Две недели — 109,0 доллара, всё ещё выше месяцаМожет затянуться дальше пятницы, но не войдёт во второй месяц
Месяц 16 ГБ / 24 ГБУдалённый рабочий столВесь цикл регрессии; 24 ГБ открывает больше симуляторов сразу100,9 или 200,9 доллара в месяц. Пять дней 24 ГБ — 201,0 доллараВетка ориентации или пикселей всплывает уже на второй день
Xcode CloudОблачный архивКомпиляция и подписьВ журнале нет того движения, которым вы тянете индикатор HomeПакет по-прежнему идёт в облако, позы остаются на удалённом Mac

Умножьте дневную ставку, и вывод о стоимости тестов — та же арифметика, что и у стоимости переделки. На 16 ГБ 20,2×5 = 101,0, и это уже равно месяцу в 100,9. На 24 ГБ 40,2×5 = 201,0, против месяца в 200,9. Неделя 54,5×2 = 109,0, всё ещё чуть выше одного месяца на 16 ГБ. Поэтому «сначала попробовать по дням» верно только когда вы уверены, что матрица закроется за один или два дня. Если App Resizability на второй день находит цепочку проверок ориентации или UIScreen.main, период оплаты надо сменить на месяц. Восьмой день платит за период, а не за тесты.

Саму матрицу можно разложить по клеткам, а не одной фразой «протестировать сгиб». На каждом из трёх уровней SDK смотрят один раз: пустое поле, обход статус-бара справа или вертикальные панели на весь экран. Затем в симуляторе 27.1 поворачивают закрытое, полусложенное и открытое по одному разу. На внутреннем экране индикатором Home снизу перетаскивают приложение влево, потом вправо, и проверяют, что главная кнопка на месте после того, как вертикальная панель сменила сторону. С внутреннего экрана запрашивают вторую сцену. На внешнем подтверждают, что действие активации исчезло или что неудачный запрос пойман. Растяжение iPhone Mirroring на macOS 27 — добавка, чтобы увидеть окно шире или уже Duo, а не обязательный пункт до старта продаж. Скриншоты меняют после того, как главный путь больше не оставляет пустое поле. Отправка скриншотов Duo ставит на странице продукта значок оптимизации. Новые отправки с апреля 2027 обязаны включать эти скриншоты. Крайний срок магазина — апрель 2027, не крайний срок вёрстки 23 октября.

Как выбрать сценарий

Если вывыбираетеПочему
только на SwiftUI и уже поддерживаете Split View на iPadлокальную машину или день удалённого узла и сначала скан навыкаБаза уже есть. Остаются вертикальные панели, зарезервированные области, полноэкранные картинки и Split View слева и справа
на второй день скан находит ориентацию или UIScreen.mainсразу переходите на месяц и не оплачивайте дневную ставку всю неделюПять рабочих дней уже равны месяцу
заблокировали портрет и считаете, что внутренний экран можно не трогатьсначала замените это сравнением ширины и высоты, потом говорите о скриншотахВнутренний экран не соблюдает поддерживаемые ориентации, в Split View он всё равно масштабируется
ведёте документы или почту, и на iPad есть новое окнона внешнем экране скрываете вход, на внутреннем обрабатываете неудачуНовое окно нельзя создать на внешнем экране
делаете приложение камеры и хотите суфлёрсначала проходит Split View, аксессуар добираете потомАксессуару нужны полный внутренний экран и сессия камеры; Split View — поведение по умолчанию для всех приложений
хотите только сменить скриншоты App Storeсначала проходите 27.1, потом меняете картинкиВнутренний экран старого SDK — пустое поле, значок не превращает пустое поле в адаптацию
в офисе нет Macарендуете один и сначала смотрите sw_vers и xcodebuild -versionКогда система не совпадает, уплаченный день не даёт ни одной годной клетки

Устройство держите на отдельной строке. Ощущение шарнира и пункты, которые симулятор не повторяет, требуют одной машины. Цену берите со страницы Apple Store в момент заказа и не размазывайте эту строку по каждому тикету Xcode. Duo на каждом столе не удаляет UIScreen.main и не даёт внешнему экрану внезапно создавать новое окно.

Рекомендуемые связки

A — независимый разработчик, вёрстка уже следует за размером: Xcode 27.1, локальная машина или один день удалённого узла. Пусть помощник кода выполнит «get my app ready for iPhone Duo», или в терминале выполните xcrun agent skills export и отдайте навык другому агенту. Если скан пуст, идите в Device Hub: закрытое, полусложенное, открытое, каждое с одним поворотом, затем перетащите Split View влево и вправо. На внешнем экране один раз нажмите «новое окно» и убедитесь, что вход исчез. Скриншоты магазина смотрите в превью App Store Connect для Duo. Ради этого прохода тестов машину покупать не нужно. Месячная плата узла — на странице цен.

B — небольшая команда, ориентация и свои панели ещё на месте: Первая неделя — только скан и синглтон экрана. Возьмите неделю аренды или сразу месяц и не дайте дневной ставке докатиться до седьмого дня. Вторая неделя заменяет ветки ориентации сравнением ширины и высоты, а четыре стороны безопасной зоны пишет отдельно. Третья неделя оставляет по одному кадру Split View слева и справа и записывает путь неудачи второй сцены в регрессию. CI по-прежнему идёт через существующий сборщик. Сессия, где человек смотрит на открытие и закрытие, — тот же удалённый Mac. Месяц на 24 ГБ стоит 200,9 доллара и нужен только когда Duo и остальные симуляторы идут параллельно. Пять раз по 40,2 уже равны месяцу этой ступени.

C — отправка нужна на неделе старта продаж: Сегодня 15 октября, предзаказ начинается завтра, продажи — 23 октября. Обещать можно вот что: на 27.1 главный путь без пустого поля, вертикальные панели не закрывают главную кнопку, после смены стороны Split View кнопка на месте, и на внешнем экране не всплывает негодное новое окно. Анимацию шарнира и аксессуар камеры, которые вы не успеваете, не пишите в текст магазина. Подключение — на странице аренды. Версия системы и аккаунт идут через центр помощи. Не предполагайте, что в образе уже предустановлен Xcode 27.1.

Частые ошибки

  1. Записать запуск как готовую адаптацию. Внутренний экран SDK iOS 26 — центрированное пустое поле. Пользователь не прочитает пустой край как «адаптация в процессе».
  2. Записать 1398 или 1878 со страницы спецификации в константу. Это порядок величины в пикселях. В Split View и в полусложенной позе окно меньше, и масштаб тоже не следует писать руками.
  3. Судить портрет и альбом внутреннего экрана по ориентации. Внутренний экран не соблюдает поддерживаемые ориентации. Портрет и альбом берите из соотношения сторон текущего окна.
  4. Считать, что UIRequiresFullScreen выключает Split View и открытие с закрытием. Ключ по-прежнему действует, но при открытии и закрытии размер всё равно меняется. Объявленная ориентация тоже не мешает масштабированию внутреннего экрана.
  5. Оставить на внешнем экране вечно нажимаемое новое окно. Новое окно только на внутреннем. Если неудачу не обработать, при закрытии выскочит ошибка.
  6. Верстать по углу шарнира. Угол годится для анимации. Вёрстка идёт через size class, зарезервированные области и arrangement.
  7. Оплатить дневную ставку всю неделю. Пять рабочих дней на 16 ГБ уже равны месяцу. Восьмой день платит за период тарифа.

Семь шагов

  1. Соберите одни и те же исходники против каждого SDK, который можете поставить, и сначала запишите, что видите: пустое поле, обход статус-бара справа или вертикальная панель на весь экран. Цель зафиксирована на 27.1.
  2. Глобально найдите UIScreen.main, UIDevice.current.orientation, statusBarOrientation, interfaceOrientation, userInterfaceIdiom и константы размера вроде 844, 1398 и 1878.
  3. В Xcode попросите помощника кода запустить App Resizability или выполните xcrun agent skills export. Навык находит большую часть. То, чего он не находит, добирает список выше.
  4. Откройте iPhone Duo в Device Hub. Поверните закрытое, полусложенное и открытое по одному разу. Затем индикатором Home перетащите приложение на внутреннем экране влево и вправо. На каждую клетку главного пути оставьте один кадр.
  5. С внутреннего экрана запросите вторую сцену и убедитесь, что и успех, и неудача пойманы. На внешнем экране подтвердите, что UIWindowSceneActivationAction скрывается сам.
  6. Посмотрите, не закрывает ли вертикальная панель главную кнопку, не записаны ли левый и правый inset как равные, на месте ли сюжет полноэкранной картинки и не давит ли зарезервированная область на элементы управления в полусложенной позе. Угол шарнира проверяйте только как анимацию, не как вёрстку.
  7. Выберите период оплаты: один или два дня могут быть дневной ставкой, а если скан уже стал грязным, переходите на месяц. Перед заказом выполните на узле sw_vers и xcodebuild -version. После того как главный путь чист, меняйте скриншоты Duo и смотрите их в превью Connect. Не масштабируйте холст другого iPhone насильно.

FAQ

Откроется ли старое приложение без изменений кода в день старта продаж iPhone Duo?

Откроется. Сборка на SDK iOS 26 или старше после раскрытия сидит по центру с пустым полем, а после закрытия контент уходит влево от статус-бара и камеры. Запуск не равен законченной адаптации. Чтобы заполнить экран и использовать вертикальные панели, нужен SDK iOS 27.1. Split View и второе окно тоже не становятся правильными только потому, что приложение открывается.

Если альбом объявлен только в Info, будет ли внутренний экран его соблюдать?

Внешний экран соблюдает объявленные вами поддерживаемые ориентации, и позу «палатка» стоит посмотреть отдельно. Внутренний экран не соблюдает, и в Split View приложение всё равно масштабируется. UIRequiresFullScreen не останавливает смену размера от открытия и закрытия. Вёрстка сравнивает ширину и высоту текущего окна.

Мультиокно — это выбор?

Split View — не выбор. Apple прямо пишет, что все приложения встают рядом, и наложение видео с приложением идёт через тот же size class. Новое окно можно создать только на внутреннем экране. Вход на внешнем экране должен использовать UIWindowSceneActivationAction, который скрывается сам. Аксессуар камеры на внешнем экране — бонус: ему нужны полный внутренний экран и идущая сессия камеры.

Если есть только симулятор, как считать стоимость тестов?

Для главного пути вёрстки хватит. Apple называет симулятор iPhone Duo в Xcode 27.1 лучшим способом проверить полный опыт. День M4 на 16 ГБ стоит 20,2 доллара, пять рабочих дней равны месяцу в 100,9 доллара. Если скан на второй день становится грязным, не платите дневную ставку до восьмого дня. 24 ГБ — это 40,2 доллара в день и 200,9 доллара в месяц, и пять дневных ставок так же встают вровень с месяцем. Ощущение шарнира всё ещё требует устройства. Эту строку не размазывайте по тикету симулятора.

Если Mac нет, можно ли ещё протестировать до старта продаж?

Xcode 27.1 нельзя запустить в Windows. Сначала подтвердите, что macOS узла ставит закреплённый вами Xcode. Системные требования остаются на странице требований Xcode у Apple. Пункт про растяжение iPhone Mirroring страница подготовки относит к macOS 27. Удалённый узел подключают со страницы аренды, цену берут со страницы цен.

Итог

iPhone Duo поступает в продажу 23 октября. Порог повторной адаптации — не «открывается ли». Сначала посмотрите, читает ли размер всё ещё весь экран, решает ли ориентация всё ещё внутренний экран и можно ли всё ещё нажать новое окно на внешнем экране. Если эти трое ворот чисты, стоимость тестов — один проход матрицы симулятора, а когда пять дневных ставок равны месяцу, переходите на месяц. Небольшое приложение, которое уже подстраивается, использует локальную машину или короткую аренду. Там, где ещё живы допущения об ориентации, пикселях и одном окне, месяц удерживает регрессию. Значок на скриншоте не лечит пустое поле. Удалённые узлы смотрите на странице аренды и странице цен. Аккаунт и версия системы идут через центр помощи.

Дальше

Split View и открытие с закрытием в Xcode 27.1 требуют Mac, чья версия системы совпадает

Симулятор iPhone Duo живёт в Xcode, не в Windows. Удалённый Mac подходит, чтобы прогнать закрытое, полусложенное, открытое и Split View слева и справа, а затем разобрать среду. До заказа сверьте, ставит ли macOS узла закреплённый вами Xcode.

Заказать · Смотреть цены

iPhone Duo · До продаж

Split View и открытие с закрытием в Xcode 27.1 требуют Mac, чья версия системы совпадает

Cloud Mac · Xcode 27.1 · iPhone Duo

Заказать
Mac Заказать