Vuncloud 블로그
← 개발 노트로 돌아가기

폴더블 iPhone이 왔다. 기존 iOS 앱은 도태될까. 어떤 앱이 화면을 다시 짜야 할까

iPhone Duo · 바깥 5.4인치 · 안쪽 7.6인치 · iOS 27.1약 11분

나무 책상 위에 놓인 iPhone. 폴더블 iPhone Duo 출시 전 기존 iOS 앱이 화면을 다시 짜야 하는지를 가리킨다

Apple은 2026년 9월 9일 첫 폴더블 iPhone을 발표했다. 이름은 iPhone Duo다. 예약은 10월 16일 태평양 시간 오전 5시, 베이징 시간 같은 날 20:00이다. 중국을 포함한 70개 이상의 국가와 지역이 1차이며 10월 23일 출시한다. 다른 28개 지역은 10월 30일이다. 출고 시스템은 iOS 27.1이다. 미국 시작 가격은 1999달러(256GB)다. 사양은 Apple 보도자료를 따른다.

오늘의 질문은 살지 말지가 아니다. App Store에 이미 있는 iOS 앱이다. 폴더블 때문에 도태되는지, 어떤 화면을 고쳐야 하는지. 개발자 문서는 분명하다. 모든 앱은 Duo에서 실행된다. iOS 27 이후 SDK로 만든 앱은 접힘에 따라 크기가 바뀐다. 접으면 바깥 화면으로 돌아가고, 펼치면 안쪽 화면으로 넓어진다. 늘어나거나 잘리거나 위치가 어긋나는 것은 화면 크기를 고정하고, 방향을 고정하고, 기기를 전제한 레이아웃이다.

두 화면은 같은 비율이라 내용은 비례해서 커질 수 있다. 목록과 양식 다수를 다시 그리지 않아도 되는 이유다. 안쪽은 7.6인치로 iPhone 18 Pro Max보다 50% 크다. 바깥은 5.4인치로 면적이 iPhone 18 Pro의 약 90%이고, 접으면 여권 크기에 가깝다. 한 열을 그대로 늘리면 피드는 비어 보인다. 이 화면을 쓰는 것은 분할이다.

9월 9일 노트는 그날 돌던 Ultra라는 이름으로 하드웨어를 적었다. 제품명은 보도자료의 iPhone Duo를 따른다. 이 글은 기존 앱의 화면만 다룬다.

10.23
1차 출시(중국 포함)
5.4 / 7.6
바깥과 안쪽(인치)
iOS 27.1
출고 시스템. 안쪽을 채우는 단계
한 줄

기존 iOS 앱은 도태되지 않는다. 업무는 다시 쓰지 않는다. 다시 짜야 하는 것은 「화면은 언제나 그 크기」를 레이아웃에 적은 화면이다. 고정된 너비와 높이, phone/pad 분기, 맞춤 막대, 그리고 카메라, 영상, 안쪽에서 나눠야 하는 작업 공간.

실행되는 것과 고친 것은 다르다

Prepare for iPhone Duo는 첫 문단에 바닥을 적어 두었다. 모든 앱은 실행된다. iOS 27 SDK 이후로 만든 앱은 펼치면 안쪽으로 넓어지고, 접으면 바깥으로 돌아간다. 하드코딩한 화면 크기, 고정 방향, 기기 가정이 레이아웃을 망가뜨린다.

「도태」는 과하다. 계정, API, 인앱 구매, 푸시는 경첩 때문에 다시 쓰지 않는다. 10월 23일에 옛 바이너리는 켜진다. 사용자가 볼 수 있는 것은 안쪽 한가운데의 옛 휴대폰 창이고, 주변은 비어 있다. 1999달러에서 시작하는 7.6인치에게 그것은 끝이 아니다.

휴먼 인터페이스 가이드도 범위를 좁힌다. 자세를 지원한다는 것은 접힘 각도마다 화면을 그리는 일이 아니다. 바깥은 compact 너비, 안쪽은 regular 너비면 기본 자세는 덮인다. 크기가 바뀔 때 앱을 다시 만들지 말고, 있는 레이아웃을 빈 공간으로 펼친다. 참고는 Preparing your app for iPhone Duo.

SDK 세 단계가 안쪽 화면을 정한다

같은 제품도 어떤 SDK로 빌드했는지에 따라 여백이 달라진다. Apple이 준 대조는 이렇다.

빌드 SDK펼침(안쪽)접힘(바깥)
iOS 26 이하창이 가운데, 주변은 여백내용은 상태 표시줄과 카메라 왼쪽
iOS 27안쪽 대부분을 채우지만 오른쪽 상태 표시줄은 피한다바깥으로 돌아가며, 옛 SDK보다 여백이 작다
iOS 27.1 이후화면 전체. 도구 막대와 탭 막대는 상태 표시줄 아래 세로같은 세로 막대가 접힘에 따라 화면을 바꾼다

Duo 출고는 27.1이다. 「설치된다」는 이유만으로 옛 SDK에 머물면 안쪽은 여백이다. 27.1 SDK를 내기 전에 막대가 세로가 되어도 내용이 겹치지 않는지 확인한다.

화면을 고쳐야 하는 앱

품목으로 자르지 않는다. 프로젝트에서 아래 가정을 먼저 찾는다. 걸리면 그 화면의 레이아웃을 고친다. 안 걸리면 대부분은 시스템 컨테이너를 따른다.

노트북 앞에서 휴대폰 화면을 보는 개발자. Xcode 27.1로 iPhone Duo에서 어떤 화면을 고칠지 확인하는 장면
고정 크기와 기기 분기를 먼저 찾고, 그다음 카메라, 영상, 분할을 10월 23일 빌드에 넣을지 정한다.

화면 크기 고정

UIScreen.main을 찾는다. 접힘은 세션 중간에 앱 크기를 바꾸고, 그 크기는 화면 전체와 자주 같지 않다.

  • UIScreen.main.bounds는 view.bounds나 window.bounds로 바꾼다. SwiftUI는 GeometryReader나 onGeometryChange.
  • 시작이나 viewIsAppearing에서 한 번 읽는 것으로는 부족하다. 크기에 의존하는 레이아웃은 layoutSubviews / viewDidLayoutSubviews에 두고, 변화는 viewWillTransition(to:with:).
  • 스케일은 traitCollection.displayScale이나 @Environment(\.displayScale).
  • UIWindow(frame: UIScreen.main.bounds)는 UIWindow(windowScene:)로 바꾼다. UIScreen을 저장하지 않는다.
  • bounds.height == 844 같은 알려진 높이 표는 Duo와 맞지 않는다.

방향과 기기 분기

Duo에서 기기 방향은 앱이 가로로 넓은지 세로로 긴지 알려 주지 않는다. 레이아웃에서 빼야 하는 것은 UIDevice.current.orientation, statusBarOrientation, interfaceOrientation(windowScene.effectiveGeometry.interfaceOrientation 포함)이다. 손에 있는 공간의 너비와 높이를 비교한다.

Duo와 크기를 바꿀 수 있는 iPhone 미러링이 있으면, iPhone 앱은 어떤 size class 조합도 가질 수 있다. 안쪽은 iPad 레이아웃의 자연스러운 연장이지 다른 제품이 아니다.

  • userInterfaceIdiom == .phone이나 == .pad로 레이아웃을 고르지 않는다. size class나 쓸 수 있는 공간으로 고른다.
  • regular 너비를 「이것은 iPad」로 두지 않는다. 그 분기는 이제 iPhone 안쪽에서 실행된다. 바깥을 세로로 들면 일반 iPhone과 같이 compact 너비, regular 높이다.
  • iPad 분기에 큰 화면만 위한 고정 크기가 남아 있으면, 안쪽은 그 고정 크기를 그대로 돌린다.

맞춤 막대는 세로가 된다

27.1에서 시스템 탭 막대, 탐색, 잠금 화면 컨트롤은 옆, 상태 표시줄 아래로 옮겨 세로 공간을 내용에 남긴다. 펼치면 홈 화면은 두 페이지이고 왼쪽은 스크롤되는 Today View다. 상태 표시줄은 모서리의 원이 된다. Dynamic Island도 바깥과 안쪽 옆에서 세로가 된다.

직접 그린 위 막대, 아래 막대, 떠 있는 버튼이 여전히 「아래 가로 막대 하나」라면 세로 시스템 막대와 가장자리를 다투거나, 안쪽 오른쪽 상태 표시줄을 가린다. 맞춤 막대와 가장자리까지 가는 캔버스는 iOS 27.1의 ReservedRegion(SwiftUI) 또는 UIViewReservedRegion(UIKit)으로 접힘과 카메라 가림을 비운다. 시스템 분할은 접힘을 스스로 피한다. 직접 만든 HStack / ZStack은 피하지 않는다.

반으로 접으면 시스템 arrangement는 주 뷰를 접힘의 한쪽에, 보조 뷰를 다른쪽에 둔다. 완전히 펼치거나 접고 분할형 예약 영역이 없으면 overlay는 겹친 채다. 직접 만든 겹침은 이 전환을 스스로 처리한다.

영상, 카메라, 읽기, 통화

반으로 접은 안쪽은 두 반쪽처럼 움직인다. 미디어, 카메라, 읽기, 영상 통화는 내용을 반쪽, 컨트롤을 다른 반쪽에 두고 접힘 위에 걸치지 않는다.

Apple 자신의 카메라는 이미 두 화면을 쓴다. 바깥에서 후면 카메라 셀카 미리보기(Duo Preview)를 보여주고, 아이 주의를 끄는 애니메이션을 바깥에서 재생하며, Duo FaceTime은 옆 사람을 바깥 화면으로 합류시킨다. 미리보기가 한 장뿐인 서드파티 카메라, 필터, 라이브는 펼친 뒤 피사체를 접힘으로 가른다.

.scaleAspectFill이나 .aspectRatio(contentMode: .fill)인 전면 이미지와 영상은 더 넓은 안쪽에서 피사체를 자른다. 현재 size class나 비율로 fill과 fit을 고르거나 초점을 둔다. 보도자료에서 Netflix는 바깥에서 짧은 영상을 넘기고 펼치면 큰 화면을 쓴다. Zoom은 안쪽을 공유 내용과 참가자로 나눈다. 이것이 화면을 고치는 모습이다. 같은 내용의 용기를 바꾸는 것이지 업무를 바꾸는 것이 아니다.

안쪽은 분할, 바깥은 한 열

iOS 27은 iPhone에서 처음으로 시스템 Split View를 둔다. 앱 두 개를 나란히 두거나, 같은 앱의 창 두 개, 예를 들어 Safari 두 개. 내용을 보면서 Siri AI와 말하고, 앱 쌍을 저장해 다음에 다시 열 수 있다.

메일, 문서, Slack 같은 작업 공간이 늘어진 타임라인 하나면 안쪽의 밀도를 버린다. SwiftUI는 NavigationSplitView, UIKit은 UISplitViewController. 안쪽은 사이드바나 두 열, 바깥은 한 열. 일반 iPhone의 regular / compact와 같은 길이다. 격자는 짝수 열로 두어 접힘 양쪽에서 나뉘게 한다. 접는 중에도 열 너비가 읽혀야 한다.

보도자료는 Slack이 작업 공간 전체를 안쪽에 펼쳤다고 이름을 적었다. iPad 분할이 없는 협업 도구는 10월 23일 전에 넣을 가치가 가장 큰 화면이다. 그래도 레이아웃이지 메시지 동기화의 재작성은 아니다.

나중에 해도 되는 것

화면10월 23일까지 안 고치면다시 짤까
설정, 양식, 시스템 목록된다. 옛 SDK는 안쪽이 여백. 새 SDK는 한 열이 늘어난다다시 짜지 않는다. 27.1 SDK로 올리고 세로 막대가 글자를 가리지 않는지 본다
이미 iPad에 맞춘 적응 레이아웃안쪽은 regular 너비 길을 탄다작은 수정. 「regular 너비 = iPad만」을 뺀다
390/844 고정, UIScreen.main늘어남, 잘림, 컨트롤 위치 어긋남레이아웃은 고친다. 업무는 다시 쓰지 않는다
카메라, 영상 통화, 읽기, 전면 영상피사체가 접힘 위에 앉고 fill이 얼굴을 자를 수 있다그 화면을 고친다. 반접힘 분할, 초점, 안전 영역
메일, 문서, 협업되지만 안쪽은 늘어진 타임라인분할을 권한다. 바깥은 한 열
게임, 지도, 디자인 캔버스비율이 바뀌면 가장자리가 보이거나 피사체와 HUD가 잘린다캔버스와 안전 영역을 고친다. 놀이 방식은 바꾸지 않는다

바깥을 일반 휴대폰으로 쓰고 안쪽 여백을 받아도 되는 내부 도구는 그대로 실행해도 된다. 스토어 주 경로, 스크린샷, 추천 자리는 별개다. App Store Connect에서 iPhone Duo 소재를 미리 볼 수 있고, featuring 추천에 모든 자세 지원을 적을 수 있다. 그것은 스토어 페이지이지 또 하나의 코드베이스가 아니다.

접힘, 펼침, 반접힘마다 전혀 다른 화면 세 벌을 유지하지 않는다. 지침은 레이아웃 하나가 공간에 따라 펼쳐지는 것이다.

내기 전에 확인하는 법

Xcode 코딩 도우미에게 get my app ready for iPhone Duo라고 한다. 위 패턴을 훑고 고치는 법을 낸다. 다른 에이전트라면 터미널에서 xcrun agent skills export로 스킬을 보낸다. 스킬이 전부를 잡지는 못한다. 고정 높이와 맞춤 막대는 사람이 본다.

확인 장소는 세 곳이다. 문서는 Duo 시뮬레이터를 완전한 경험으로 적는다.

  • Xcode 27.1의 iPhone Duo 시뮬레이터
  • Device Hub의 크기를 바꿀 수 있는 iOS 시뮬레이터
  • macOS 27의 iPhone 미러링. 창을 두 방향의 극단 크기까지 당긴다

적어도 여섯 가지. 접힘, 펼침, 반접힘에 세로와 가로. 그다음 시스템 Split View를 한 번. 맞춤 카메라와 영상은 반접힘에서 접힘이 피사체를 가르는지 따로 본다.

시뮬레이터는 일상용 맥에 넣지 않는다
  • Xcode 27.1과 Duo 시뮬레이터는 별도의 Mac에 설치한다. 낮의 회의와 빌드를 같은 노트북에 올리지 않는다.
  • 먼저 스킬 검색, 그다음 맞춤 막대, 전면 영상, 반접힘을 손으로 본다.
  • regular 너비 레이아웃이 없으면 10월 16일 예약이 열리는 아침에 분할을 시작하지 않는다.
  • 스토어 스크린샷과 코드는 일정을 나눈다. 이미지가 부족해도 옛 바이너리가 Duo에서 사라지지는 않는다.

Mac 한 대, Developer 프로그램, CI의 월 비용은 9월 14일 비용 글에서 나눴다. Duo는 그 표를 0으로 만들지 않는다. 27.1 SDK와 시뮬레이터를 올릴 깨끗한 기계가 필요할 뿐이다.

자주 묻는 질문

업데이트하지 않은 기존 iOS 앱은 10월 23일에도 열리나?

열린다. Apple은 모든 앱이 실행된다고 적었다. iOS 26 이하 SDK는 펼치면 가운데 여백, 접으면 상태 표시줄과 카메라 왼쪽. 열리는 것과 적응이 끝난 것은 다르다.

폴더블 때문에 앱을 다시 써야 하나?

업무, 계정, API는 다시 쓰지 않는다. 바꾸는 것은 UIScreen.main, 고정 방향, phone/pad 분기, 고정된 너비와 높이, 맞춤 도구 막대다. 시스템 컨테이너를 쓰고 iPad 크기 변화에 이미 맞췄다면 일이 가장 작다.

어떤 종류가 화면 수정을 먼저 넣어야 하나?

카메라, 영상 통화, 읽기, 전면 영상은 접힘과 반접힘. 메일, 문서, 협업은 안쪽에서 나누고 바깥은 한 열. 게임, 지도, 디자인 캔버스는 늘어남과 안전 영역. 표준 목록과 설정은 SDK를 올린 뒤 먼저 낼 수 있다.

iPhone 전용이고 iPad 버전이 없으면 못 쓰나?

못 쓰게 되지는 않는다. 바깥을 세로로 들면 compact 너비다. 안쪽은 regular 너비다. regular 너비를 iPad에서만 보이게 한 기능은 Duo 안쪽에서 나타난다. regular 레이아웃이 없으면 새 SDK는 한 열을 늘리고 옛 SDK는 여백이다.

iPhone Duo 출고 시스템은 어느 버전인가?

보도자료는 iOS 27.1이다. 안쪽을 채우고 도구 막대와 탭 막대를 상태 표시줄 아래에서 세로로 두는 것은 27.1 SDK 이후다. iOS 27 SDK는 오른쪽 상태 표시줄을 여전히 피한다.

예약과 출시는 언제인가?

예약은 10월 16일 태평양 시간 오전 5시, 베이징 시간 같은 날 20:00. 10월 23일부터 중국을 포함한 70개 이상의 국가와 지역, 다른 28개 지역은 10월 30일. 미국은 256GB 1999달러부터.

맺음

폴더블은 기존 iOS 앱을 도태시키지 않는다. 도태시키는 것은 「화면은 언제나 그 크기」라는 가정이다. 10월 23일 전에 고칠 가치가 있는 것은 고정 크기, 기기 분기, 맞춤 막대, 그리고 카메라, 영상, 안쪽 분할이다. 목록과 설정은 27.1 SDK를 따르면 된다. 확인은 Xcode 27.1의 Duo 시뮬레이터에서 하고, 일상용 맥과 같은 기계를 빼앗지 않는다.

Xcode 27.1과 Duo 시뮬레이터는 별도의 Mac에 둔다

접힘, 펼침, 반접힘을 각각 한 번씩 본다. 낮의 회의가 있는 노트북과 나누지 않는다.

Cloud Mac 플랜 보기

개발 노트 · iPhone Duo

폴더블 레이아웃은 별도의 Mac에서 확인한다

iOS 27.1 · Duo 시뮬레이터 · Cloud Mac

Cloud Mac 플랜 보기
한정 혜택 플랜 보기