Apple отдельно описывает различия между поведением приложений, собранных с iOS 27 и iOS 27.1 SDK: это указано в руководстве по подготовке приложения для iPhone Duo. Поэтому при смещении интерфейса не начинайте с изменения размеров макета: сначала установите SDK сборки, затем проверьте раскрытое, сложенное и повёрнутое состояния в симуляторе iPhone Duo в Xcode 27.1. Если сбой зависит от положения устройства, проверьте, не опирается ли приложение на фиксированный размер экрана или только на ориентацию.

Последнее обновление: 26 октября 2026 года. Данные сверены с руководством Apple для iPhone Duo, записью о выпуске Xcode 27.1 и техническим разбором симулятора.

UI-дизайнерам этот порядок поможет сравнить замысел в Figma с интерфейсом приложения. Продуктовые дизайнеры смогут оценить, остаются ли ключевые действия понятными при смене положения устройства. Руководителям проекта и QA он поможет согласовать проверку в симуляторе и ответственность за испытания на реальном устройстве.

01

Сначала определите, где именно возникает смещение

Похожие на первый взгляд сбои могут иметь разные причины: пустая область по краям, обрезанный текст, сдвинутые кнопки или изменение композиции при раскрытии устройства. Если сразу растянуть изображение или передвинуть элементы в макете, легко замаскировать настоящую проблему — например, устаревшую логику определения доступного пространства.

До правок зафиксируйте исходное состояние. Запишите, появляется ли дефект на внешнем или внутреннем экране, при сложенном или раскрытом устройстве, после поворота либо только при переходе между состояниями. Отдельно уточните, с каким SDK собрана проверяемая версия приложения. Эти заметки пригодятся разработчику: по ним можно будет повторить тот же сценарий, а не искать неисправность по одному скриншоту.

Наблюдение Что проверить первым Как интерпретировать результат
По краям появляется необычная пустая область SDK сборки и состояние экрана Версия SDK может влиять на то, как приложение использует доступное пространство; не спешите менять размеры макета.
После раскрытия элементы уезжают или меняют размер Фактически доступную приложению область, а не только размер дисплея Возможно, компоновка рассчитана на постоянные границы экрана.
После поворота выбирается неподходящий вариант интерфейса Условие выбора макета: ориентация или текущие ширина и высота Ориентация сама по себе не описывает всю доступную приложению область на iPhone Duo.
Кнопки или панели перекрываются Размещение элементов, безопасные области и доступное место Проверьте отдельно положение интерактивных элементов и фонового изображения.

В симуляторе элементы растянуты или обрезаны — с чего начать? Начните с двух сведений: версии SDK, на которой собрана запущенная версия, и точного состояния устройства в момент сбоя. Затем повторите именно его и проверьте, не рассчитывает ли интерфейс размер по постоянным границам экрана.

Различие между поведением, связанным с iOS 27 и iOS 27.1 SDK, описано в руководстве Apple по адаптации к iPhone Duo. Оно не означает, что любое пустое место или обрезанный элемент автоматически вызваны SDK: приложение может иметь собственный дефект компоновки. Смысл проверки — не смешивать версию сборки и проблему ресурсов, пока они не проверены отдельно.

Пустые поля и обрезанные края не всегда указывают на неверный макет

Сопоставьте скриншот с исходным макетом, но сначала проверьте, какую область приложение действительно занимает в данном состоянии. Пустое пространство может быть связано с тем, что приложение не использует доступную область так, как ожидается для новой конфигурации. Обрезка же может появляться из-за того, что содержимое помещается в неподходящую рамку.

У изображений и видео проверяйте отдельно фон и главный объект. Фоновая заливка может корректно занимать всю ширину, хотя важная часть изображения окажется обрезана. Для элементов управления действует другой критерий: кнопка должна сохранять предусмотренное положение и оставаться доступной для нажатия. Проверка только того, что «картинка заполняет экран», не подтверждает корректность интерфейса целиком.

В заметке к дефекту приложите снимок, состояние устройства, название проверяемой сборки и ожидаемое положение ключевых элементов. Не делайте вывод о неверном размере графического ресурса, если не сопоставили эти сведения с тем, как приложение рассчитывает свою область.

02

При раскрытии проверяйте доступную область, а не условный размер дисплея

Раскрытие или складывание устройства меняет пространство, которое может использовать интерфейс. Если приложение сохраняет предположение о постоянном размере экрана, некоторые элементы после изменения состояния могут оказаться не на месте, стать слишком крупными или сжаться. В таком случае изменение размера артборда в Figma не исправит первопричину: нужно проверить, от какой области приложение строит компоновку.

Для диагностики полезно запросить у разработчика не только итоговый снимок, но и название области, по которой рассчитываются размеры. В UIKit значение bounds описывает границы конкретного представления, а не универсальный макет для всех экранов; это различие отражено в документации Apple по UIView.bounds. В SwiftUI геометрию контейнера можно анализировать через GeometryReader; назначение этого инструмента описывает документация Apple по GeometryReader. Эти ссылки не заменяют проверку проекта, но помогают команде уточнить, какую именно область она измеряет.

После раскрытия нужно корректировать размер экрана или учитывать направление устройства? Сначала выясните, от чего зависит выбор макета. Если правило смотрит только на направление устройства, проверьте фактические доступные ширину и высоту: одно лишь направление не всегда даёт достаточно информации о форме области приложения на iPhone Duo. Решение должно соответствовать тому, какое пространство реально доступно в проверяемом состоянии.

Подход Что он использует для выбора компоновки Риск при смене состояния Когда рассматривать
Фиксированный размер экрана Заранее заданные ширина и высота Компоновка может перестать соответствовать доступному пространству Только если продукт действительно ограничен неизменной областью и это подтверждено требованиями.
Ориентация устройства Признак портретного или альбомного положения Разные формы доступной области могут попасть в одну ветку интерфейса Когда направление — лишь один из критериев, а не единственное условие адаптации.
Доступные ширина и высота Размер пространства, которым располагает интерфейс Требует проверки точек перехода и самого содержимого Когда интерфейс должен реагировать на изменение доступной области.
Классы размера и правила адаптации Категории ширины и высоты, принятые в проекте Неверно выбранное условие может включить неподходящий вариант Когда команде важно проверять поведение не только по физическому положению устройства.

Сравнивайте не только внешний вид, но и смысловые приоритеты. Если в раскрытом состоянии область становится шире, важно понять, должен ли интерфейс лишь масштабироваться или, например, перестраивать панель и контент. Это решение относится к поведению продукта; скриншот без комментария дизайнера не объяснит, какой вариант ожидается.

Поворот — отдельный сценарий, но не единственный сигнал для макета

Поворот может выявить ошибку, при которой приложение выбирает компоновку только по направлению устройства. Однако некорректная ветка может проявиться и без поворота — при изменении доступной области из-за складывания или раскрытия. Поэтому тестируйте оба события раздельно: сначала смену положения, затем изменение формы и размера области.

Для каждой проверки отметьте, какие элементы должны сохранять положение, какие могут перемещаться и что обязано оставаться видимым. Это особенно важно для основной кнопки, заголовка, панели навигации и элементов, без которых пользователь не может завершить ключевое действие. Если после изменения области макет переключается, а логика выбора не согласуется с видимым результатом, передайте разработчику и ожидание дизайна, и воспроизводимое состояние.

03

Проведите повторную проверку в Xcode 27.1

Apple указывает Xcode 27.1 и Device Hub как часть доступного способа проверки iPhone Duo в симуляторе; подробности проверки разных состояний приводятся в техническом разборе Apple. Описание выпуска и сведения о версии доступны в записи о Xcode 27.1 и примечаниях к выпуску. Это подтверждает наличие подходящего симуляторного сценария, но не гарантирует, что конкретный проект собран нужным SDK или что его интерфейс автоматически корректен.

Перед запуском попросите разработчика подтвердить, какая сборка используется для проверки и какой SDK выбран для её компиляции. Если проект старый, не делайте вывод о поведении новой сборки по внешнему виду приложения, которое просто запускается в симуляторе. Зафиксируйте версию сборки и отдельно — состояние, в котором снят каждый скриншот.

Для быстрой проверки настроек проекта можно попросить разработчика выполнить команду в терминале Xcode:

xcodebuild -showBuildSettings -scheme "ИмяСхемы" | grep -E 'SDKROOT|IPHONEOS_DEPLOYMENT_TARGET'

Пример ожидаемого фрагмента вывода:

SDKROOT = iphonesimulator...
IPHONEOS_DEPLOYMENT_TARGET = ...

Многоточия здесь намеренно обозначают значения, которые следует прочитать из конкретного проекта, а не универсальные настройки. Само наличие сборки, запускающейся в симуляторе, не доказывает, что она использует требуемый SDK. Если команда не может получить настройки этой схемы, попросите разработчика уточнить их в проекте и приложить результат к задаче.

Повторный проход удобно организовать так:

  • Откройте нужную схему проекта и зафиксируйте версию сборки, которую передали на визуальную проверку.
  • В Device Hub выберите симулятор iPhone Duo и откройте проверяемый проект. Если такой симулятор недоступен, уточните версию Xcode и состояние среды у ответственного за сборку.
  • Проверьте отдельно внешний экран и внутренний экран, если эти состояния представлены в используемой конфигурации симулятора.
  • Повторите дефект в сложенном и раскрытом состоянии; затем отдельно проверьте поворот, не меняя одновременно несколько условий.
  • Сопоставьте каждый снимок с макетом по заголовку, основному действию, панели управления, краям изображения и безопасному расположению интерактивных элементов.
  • Передайте разработчику конкретное состояние, шаги воспроизведения, снимок и критерий готовности; после исправления повторите тот же сценарий, а не только откройте приложение на стартовом экране.

Что означает разница между сборками с iOS 27 и iOS 27.1 SDK? Это повод сравнить поведение отдельно собранных версий, а не доказательство того, что новая версия исправляет все дефекты. Apple описывает различия в использовании экрана, поэтому для проверки важно записать SDK сборки и повторить одинаковые состояния. Если в одной сборке интерфейс оставляет свободное место, а в другой занимает его иначе, выясняйте, связано ли это с обновлённой адаптацией, а не только с изменением графики.

04

Разделяйте визуальное подтверждение и приёмку продукта

Симулятор помогает команде воспроизводимо проверить компоновку и сравнить несколько состояний. Он не заменяет проверку на реальном устройстве: среда симуляции не подтверждает все физические и пользовательские условия использования. В документации Apple отдельно рассматриваются запуск приложения на симулируемом и физическом устройстве — см. руководство по запуску на симуляторе или реальном устройстве.

Перед передачей результата договоритесь, кто отвечает за каждую часть проверки. Дизайнер может подтвердить соответствие композиции и приоритетов макету. Разработчик — что сборка использует ожидаемую конфигурацию и корректно реагирует на изменения доступной области. Команда, отвечающая за устройства, — что необходимые сценарии проверены на реальном оборудовании. Если эти роли не определены, снимок из симулятора легко ошибочно принять за полную приёмку.

Задача Что может подтвердить симулятор Что симулятор сам по себе не подтверждает
Визуально сравнить компоновку в доступных состояниях Положение и видимость элементов в проверяемом сценарии Поведение приложения во всех условиях использования устройства.
Повторить смещение после раскрытия или поворота Воспроизводимость визуальной проблемы в выбранной конфигурации Что испытана каждая комбинация реального устройства и условий эксплуатации.
Проверить исправление Что конкретный сценарий больше не воспроизводится в симуляторе Что продукт прошёл полную проверку на устройстве и принят ответственными за неё.
Подготовить передачу в разработку Снимки, условия появления ошибки и ожидаемый результат Что разработчик использовал нужную версию SDK, если её не зафиксировали отдельно.

Как дизайнеру без собственного Mac проверить нативный интерфейс iPhone Duo? Нужна среда Mac с доступом к Xcode: можно согласовать проверку с разработчиком или оценить удалённый Mac, если команда не располагает своей машиной. До выбора среды убедитесь, что конкретный проект можно открыть и собрать в нужном окружении. Сам факт удалённого доступа не подтверждает доступность нужной версии Xcode или совместимость проекта.

Начните с информации NodeMini об удалённой среде Mac и уточните детали использования через справочный центр NodeMini. До начала работы согласуйте, кто устанавливает и проверяет Xcode, кто предоставляет проект и тестовые данные, а кто принимает результат. В этой статье нет подтверждённых сведений о доступной конфигурации NodeMini, установленных версиях программного обеспечения или способе подключения, поэтому эти характеристики необходимо проверить непосредственно перед тем, как планировать работу.

При удалённой проверке договоритесь о порядке передачи файлов и скриншотов: не отправляйте конфиденциальные материалы без разрешения команды, а в задаче указывайте только необходимые данные о проекте. Если рабочее требование включает подключение реального устройства или проверку, для которой важна физическая среда, заранее оставьте этот этап за командой, у которой есть соответствующее оборудование. Симулятор на удалённом Mac сохраняет ту же границу: он полезен для воспроизведения компоновки, но не становится заменой устройству.

05

Зафиксируйте результаты так, чтобы дефект можно было повторить

Перед закрытием задачи проверьте, что описание ошибки отвечает не только на вопрос «что не так?», но и объясняет, при каких условиях это видно. Укажите SDK проверенной сборки, состояние устройства, шаги воспроизведения и тот участок макета, который служит эталоном. Если проблема проявляется только после перехода между сложенным и раскрытым состояниями, отметьте последовательность перехода, а не только итоговый экран.

Для итогового комментария подойдёт такой шаблон:

Сборка: [название или идентификатор]
SDK: [значение из настроек проекта]
Сценарий: [состояние устройства и действие, после которого виден дефект]
Наблюдение: [что смещено, обрезано или перекрыто]
Ожидаемый результат: [какие элементы должны оставаться видимыми и где]
Проверено в симуляторе: [состояния и результат повторного прохода]
Проверка на устройстве: [ответственная сторона или статус]

Не отмечайте визуальный дефект как исправленный только потому, что на одном снимке кнопка оказалась на ожидаемом месте. Важно повторить состояние, вызвавшее смещение, и убедиться, что исправление не скрывает основной контент в другом положении. Если подтверждение на реальном устройстве ещё не выполнено, явно оставьте этот пункт открытым.

Для разовой сверки макета удалённая среда на Mac может быть разумной альтернативой покупке отдельного компьютера, если проект действительно открывается в ней и команде доступен необходимый Xcode. При постоянной ежедневной работе, требованиях к физическим подключениям или стабильной длительной нагрузке собственный Mac и отдельный план испытаний могут быть уместнее. Windows в этой схеме остаётся удобным устройством для подготовки макета и передачи замечаний, но не запускает Xcode для нативной проверки. Если у команды нет Mac и требуется только временно проверить проект, сначала сравните доступный способ удалённого доступа через NodeMini с требованиями проекта; симулятор поможет найти часть проблем компоновки, а окончательную проверку на реальном устройстве следует оставить ответственным за неё.