iPhone Duo · 출시 전

iPhone Duo 출시 전에 iOS 앱을 다시 맞춰야 할까? 2026 크기, 세로와 가로, 멀티윈도와 Xcode 테스트 비용

2026.10.15 · 약 14분

열리는 것은 적응이 아니다. 화면이나 방향, 창 하나로 레이아웃을 아직 짜는 앱을 다시 맞춘다. 아래에서는 크기, 세로와 가로, 멀티윈도, Xcode 테스트 비용의 네 관문으로 검수하고, 판매 시작 일주일 전에 아직 약속할 수 있는 범위를 표시한다.

휴대폰을 양손으로 쥐고, iPhone Duo 출시 전에 시험할 바깥 화면, 안쪽 화면, 세로와 가로, 분할 화면을 대조한다

오늘은 2026년 10월 15일이다. Apple 제품 페이지는 예약이 10월 16일 태평양 시간 오전 5:00에 시작하고, 10월 23일부터 판매된다고 적는다. 10월 5일 개발자 뉴스는 이미 Xcode 27.1로 다시 컴파일해 제출하는 것을 허용했다. 2027년 4월부터 새 제출에는 iPhone Duo 스크린샷을 붙여야 한다. 실행은 옛 바이너리가 아직 있다는 뜻일 뿐이다. 안쪽 화면이 채워졌다는 뜻이 아니고, 세로와 가로가 올바른 가지로 갔다는 뜻이 아니며, 분할 화면에서 주 버튼이 안전 영역 안에 있다는 뜻도 아니다. 10월 13일 글은 개조 기간과 Mac 구매를 같이 계산했다. 이 글은 출시 전 질문만 답한다. 코드를 고칠지, 그리고 이번 시험에 얼마를 쓸지.

4관문
크기 · 방향 · 창 · 테스트
5.4 / 7.6
바깥 화면과 안쪽 화면, 인치
$20.2
M4 16GB 일 임대. 5일이 월 임대와 같다

왜 열려도 다시 맞춘 것이 아닌가

옛 판단과 새 판단은 같은 사용자 피드백에서 갈린다. 옛 판단은 「시뮬레이터에서 실행되면, 출시 뒤에 나쁜 리뷰를 본다」. 새 판단은 레이아웃이 아직 어떤 사실을 읽는지부터 본다. 화면 전체인지, 기기 방향인지, 지금 이 창인지. Apple 준비 페이지는 직접 적는다. iOS 27 SDK부터 빌드한 앱은 Duo가 접힐 때 크기가 바뀐다. 화면 크기를 고정하고, 방향을 고정하고, 기기를 가정하면 레이아웃이 늘어나거나 잘리거나 자리를 틀린다.

같은 소스가 SDK 세 단계에서 다르게 보인다. 이것이 출시 전의 첫 칼이고, 디자인 취향이 아니다. iOS 26 SDK나 그 이전으로도 실행된다. 펼치면 창이 가운데 있고 둘레는 여백이며, 닫으면 내용이 상태 막대와 카메라 왼쪽에 붙는다. iOS 27 SDK는 안쪽 화면의 대부분을 채우고, 오른쪽 상태 막대는 아직 피한다. iOS 27.1 SDK부터가 최적화 상태다. 표시 영역을 가득 쓰고, 도구 막대와 탭 막대는 상태 막대 아래 세로로 선다. 스토어 스크린샷만 바꾸고 바이너리가 옛 SDK인 팀은, 사용자가 안쪽 화면을 열면 여백을 본다. 여백은 「다음 주에 다시 맞춘다」로 읽히지 않는다.

둘째 칼은 창이 화면이 아니고, 방향이 모양이 아니라는 것이다. 준비 페이지는 크기가 바뀔 때마다 다시 읽으라고 한다. viewIsAppearing에서 한 번 읽는 것으로는 부족하다. 접힘은 세션 도중에 일어나기 때문이다. UIKit은 크기에 의존하는 레이아웃을 layoutSubviews나 viewDidLayoutSubviews에 둔다. 크기 변화 때 할 일이 있으면 viewWillTransition(to:with:)를 쓴다. SwiftUI는 GeometryReader나 onGeometryChange를 쓴다. 스케일은 trait collection에서 읽고, UIScreen.main.scale에서 읽지 않는다. 화면이 둘인 기기에서 main screen의 의미는 모호하다. Apple은 main screen이 이후 버전에서 폐기된다고 말한다.

셋째 칼이 시험 기계다. Xcode 27.1의 iPhone Duo 시뮬레이터, Device Hub 아래쪽의 열고 닫고 회전, macOS 27에서 iPhone 미러링의 극단적인 늘이기는 모두 Mac 위에 있다. Windows에는 이 사슬이 없다. 팀 빌드 기계를 고르는 법은 Xcode Cloud와 원격 Mac 비교에 있다. Xcode Cloud는 패키지를 만들 수 있다. Device Hub 앞에 앉아 닫힘, 반접힘, 펼침을 각각 한 번 돌린 다음, 분할 화면을 왼쪽에서 오른쪽으로 끄는 일을 대신하지 못한다.

인용할 판단 한 줄
분수령은 폴더블용 인터페이스를 한 벌 다시 그리는 일이 아니다. 크기, 방향, 창 개수가 아직 고정돼 있는지다. 모델은 시스템 컴포넌트 안에 있고, 모양은 지금 창 안에 있다.

폴더블 크기, 세로와 가로, 멀티윈도를 어떻게 나누나

「iPhone Duo 지원」을 이정표 하나로 쓰면, 출시 전 일정은 반드시 밀린다. 사용자가 실제로 부딪히는 행동으로 관문 네 개를 나눈다. 하나가 빠지면 「컴파일된다」를 「적응했다」로 쓰게 된다.

도구입구할 수 있는 일맥락맞는 사람
폴더블 화면 크기바깥 화면, 안쪽 화면, 지금 창size class와 bounds로 배치하고, 픽셀이나 인치를 고정하지 않는다사양 페이지의 해상도는 규모를 이해하는 데만 쓴다아직 bounds.height == 844를 비교하는 코드
세로와 가로바깥 화면 방향 선언, 안쪽 화면 가로세로 비바깥 화면은 지원 방향을 지킨다. 안쪽 화면은 지키지 않고, 분할 화면도 포함한다텐트 자세는 사람이 닫힌 휴대폰을 가로로 놓게 한다interfaceOrientation으로 레이아웃을 바꾸는 화면
멀티윈도분할 화면, 두 번째 씬, 씬 액세서리모든 앱이 나란히 선다. 새 창은 안쪽 화면에서만바깥 화면에서 새 씬을 요청하면 실패한다iPad의 「새 창」 버튼을 그대로 가져온 앱
Xcode 테스트Xcode 27.1의 Device Hub세 자세, 회전, 좌우 분할, 두 번째 씬 요청일 임대 근무일 5일은 16GB 월 임대와 같다10월 23일 전에 회귀표 한 장을 내야 하는 사람

크기: 화면 두 장, 그리고 변하는 창

사양 페이지는 숫자를 고정해 두었지만, 레이아웃 코드는 따라 고정하면 안 된다. 바깥 화면은 5.4인치 Super Retina XDR이고, 해상도는 1398×2034, 460 ppi다. 닫았을 때 본체는 높이 117.8mm, 너비 84.1mm, 두께 11.3mm다. 안쪽 화면은 7.6인치 폴더블 Super Retina XDR이고, 해상도는 1878×2670, 430 ppi이며, 나노 텍스처가 있다. 펼친 뒤 높이는 그대로 117.8mm, 너비는 164.6mm, 두께는 5.2mm, 무게는 254g이다. Apple은 두 화면의 가로세로 비가 같고, 내용이 비율에 맞게 스케일된다고 적는다. 표준 직사각형으로 재면 약 5.36인치와 7.58인치이고, 실제로 보이는 영역은 더 작으며, 둥근 모서리는 직사각형 안에 있다.

size class가 레이아웃이 읽어야 할 단계다. 바깥 화면은 다른 iPhone과 같다. 세로로 쥐면 수직 regular, 수평 compact이고, 가로로 쥐면 양쪽 모두 compact다. 안쪽 화면은 수평과 수직이 모두 regular라 사이드바를 둘 자리가 있다. 창은 더 작아질 수 있다. 분할 화면, 반접힘, 미러링 늘이기는 창을 화면 전체와 다르게 만든다. 그래서 사양 페이지의 픽셀은 규모이지 상수가 아니다. 스케일은 traitCollection.displayScale이나 SwiftUI의 displayScale을 쓴다. 1398이나 1878을 == 안에 넣지 않는다.

「화면 크기」와 섞이기 쉬운 시스템 동작이 둘 더 있다. 모서리는 iOS 26의 Concentricity를 쓴다. 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, SwiftUI에서는 GeometryReader의 크기다.

찾아 지울 속성은 UIDevice.current.orientation, statusBarOrientation, 그리고 interfaceOrientation이다. windowScene.effectiveGeometry.interfaceOrientation도 포함한다. 휴먼 인터페이스 가이드는 연속 경험을 한 문장 보탠다. 가로로 두면 컨트롤은 옆에 남고 같은 수직 높이를 유지한다. 휴대폰을 돌렸다고 페이지 전체를 다시 배치하지 않는다. 표준 시스템 컴포넌트는 스스로 이렇게 한다. 직접 그린 막대는 그렇지 않다.

UIRequiresFullScreen은 여전히 유효하다. 그래도 열고 닫을 때 앱의 크기는 바뀐다. 더 오해하기 쉬운 문장이 있다. Duo는 선언한 지원 방향을 존중한다. 그러나 안쪽 화면의 앱은 여전히 스케일되고, 분할 화면에서도 같다. 그래서 「세로를 잠갔으니 안쪽 화면은 넓어지지 않는다」는 성립하지 않는다. 안전 영역은 자주 비대칭이다. 가로와 분할 화면에서 세로로 늘어선 버튼이 왼쪽에 나올 수 있다. 왼쪽 inset에 2를 곱해 너비를 계산하면, 반대쪽에서 버튼이 화면 밖으로 나간다. 각 변은 따로 뺀다.

멀티윈도: 분할 화면은 기본이고, 두 번째 창은 아니다

멀티윈도 Tech Talk의 원문은 이렇다. 모든 앱이 Duo의 멀티태스킹에 참여하고, 앱 두 개가 나란히 설 수 있다. iPad나 iPhone 미러링을 위해 이미 크기 변화를 처리한 앱이 출발점이 더 낫다. 비디오와 앱을 겹치는 새 레이아웃도 있다. 처리는 분할 화면과 같다. 여전히 size class와 씬 지오메트리를 읽고, 그것을 위해 「이것은 비디오」 분기를 다시 쓰지 않는다.

Duo는 같은 앱의 인터페이스 인스턴스를 여러 개 지원하는 첫 iPhone이다. iPad에서 새 창을 열 수 있으면 여기서도 열 수 있다. 차이는 하나다. 바깥 화면에서는 새 창을 만들 수 없고, 그 동작은 안쪽 화면에 남겨 둔다. 새 씬을 요청하면 실패를 반드시 처리한다. UIWindowSceneActivationAction을 쓴다. 새 창을 쓸 수 없으면 스스로 숨고, 누르면 오류가 나는 버튼을 남기지 않는다. 씬 액세서리는 세 번째 길이다. 보충 인터페이스를 다른 화면에 띄운다. 카메라의 CameraCaptureAccessory는 추가 인터페이스를 바깥 화면에 두고, 주 인터페이스는 안쪽 화면의 전체 화면에 남긴다. 진행 중인 카메라 세션이 있어야 한다. 닫으면 액세서리를 쓸 수 없다. 버튼은 onAvailabilityChange로 끈다. 이것은 카메라 앱의 가산점이다. 분할 화면은 가산점이 아니다. 모든 앱의 기본이다.

모양은 창을 읽고, 힌지는 효과만 돌린다 (스케치)
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 16GB와 24GB의 달러 표시가다. 일 임대 20.2와 40.2, 주 임대 54.5와 108.5, 월 임대 100.9와 200.9. 사람-일은 이 글에서 달러로 바꾸지 않는다. 기간 단계와 구매 비교는 10월 13일의 적응 비용에 있다.

도구입구할 수 있는 일맥락맞는 사람
27.1로 다시 컴파일만size class는 있고, 화면 싱글톤은 없다세로 막대, 예약 영역, 전체 화면 이미지 초점, 좌우 분할을 맞춘다스캔이 깨끗하면 하루 안에 닫을 수 있다iPad 분할이나 미러링 축소에 이미 맞춘 앱
방향 분기가 남아 있다interfaceOrientation이 레이아웃을 정한다너비와 높이 비교로 바꾼다. 바깥 화면 가로는 텐트 자세를 따로 본다안쪽 화면은 지원 방향을 지키지 않는다. 세로 잠금도 넓어짐을 막지 못한다정보, 읽기, 플레이어에 가로 if가 많다
창 하나 가정iPad의 「새 창」을 그대로 가져왔다바깥 화면은 입구를 숨긴다. 안쪽 화면은 생성 실패를 처리한다. 분할 화면을 기본으로 둔다두 번째 인스턴스는 안쪽 화면에서만 유효하다문서, 메일, 디자인 도구
고정 픽셀844, 1398, 또는 기종 표 하나컨테이너를 다시 만들고, inset은 비대칭으로 두고, idiom은 뺀다사양 페이지의 해상도는 상수에 넣을 수 없다여러 해 동안 iPhone 화면 하나에만 그려 온 상점
도구입구할 수 있는 일맥락맞는 사람
손에 있는 Apple Silicon로컬 Xcode 27.1시뮬레이터 전체 행렬추가 장비비는 0이다. 일상 DerivedData와 디스크를 다툰다잠근 Xcode를 이미 설치할 수 있는 기계
일 임대 M4 16GB원격 데스크톱Device Hub 한 바퀴20.2달러/일. 근무일 5일은 101.0달러스캔이 깨끗하고, 2일 안에 정말 닫을 수 있다
주 임대 M4 16GB원격 데스크톱달력 주 하나54.5달러/주. 2주는 109.0달러이고, 월 임대보다 아직 높다금요일을 넘길 수는 있다. 둘째 달로는 들어가지 않는다
월 임대 16GB / 24GB원격 데스크톱회귀 주기 전체. 24GB는 시뮬레이터를 더 많이 동시에 연다100.9 또는 200.9달러/월. 24GB 일 임대 5일은 201.0달러방향이나 픽셀 분기가 둘째 날에 드러난다
Xcode Cloud클라우드 아카이브컴파일과 서명로그에는 Home 인디케이터를 끈 그 한 번이 없다패키지는 클라우드로 두고, 자세는 원격 Mac에 남긴다

일 임대를 곱하면, 테스트 비용의 결론과 개조 비용은 같은 산수다. 16GB의 20.2×5 = 101.0은 이미 월 임대 100.9와 같다. 24GB의 40.2×5 = 201.0은 월 임대 200.9에 맞는다. 주 임대 54.5×2 = 109.0은 16GB 한 달보다 아직 조금 높다. 그래서 「일단 하루 단위로 해보자」는 1일이나 2일 안에 행렬을 끝낼 수 있다고 확신할 때만 성립한다. App Resizability가 둘째 날에 방향 판단이나 UIScreen.main을 한 줄로 훑으면, 과금 주기를 월로 바꾼다. 8일째에 내는 돈은 주기이지 테스트가 아니다.

행렬 자체는 「접힘을 한 번 시험해 보자」는 문장이 아니라 칸으로 적을 수 있다. SDK 세 단계를 각각 한 번 본다. 여백인지, 오른쪽 상태 막대를 피하는지, 전체 화면 세로 막대인지. 그다음 27.1 시뮬레이터에서 닫힘, 반접힘, 펼침을 각각 한 번 회전한다. 안쪽 화면에서는 아래쪽 Home 인디케이터로 앱을 왼쪽으로 끌고, 다시 오른쪽으로 끌어, 세로 막대가 변을 바꾼 뒤에도 주 버튼이 있는지 확인한다. 안쪽 화면에서 두 번째 씬을 요청한다. 바깥 화면에서는 활성화 동작이 사라지는지, 아니면 실패한 요청을 받았는지 확인한다. macOS 27의 미러링 늘이기는 추가 항목이다. Duo보다 더 넓거나 더 좁은 창을 보는 용도이고, 판매 전의 필수 항목이 아니다. 스크린샷은 주요 경로에 여백이 없어진 뒤에 바꾼다. Duo 스크린샷을 제출하면 제품 페이지에 최적화 배지가 나타난다. 2027년 4월부터 새 제출은 이 스크린샷을 반드시 붙인다. 그것은 스토어 마감이지, 10월 23일의 레이아웃 마감이 아니다.

장면을 어떻게 고르나

당신이고른다이유
순수 SwiftUI이고, 이미 iPad 분할을 지원한다로컬 또는 원격 노드 하루. 먼저 스킬 스캔바닥은 있다. 남은 것은 세로 막대, 예약 영역, 전체 화면 이미지, 좌우 분할
둘째 날 스캔에 방향이나 UIScreen.main이 나온다바로 월 임대로 바꾼다. 일 임대를 한 주 다 내지 않는다근무일 5일은 이미 한 달과 같다
세로를 잠그고, 안쪽 화면은 안 봐도 된다고 본다먼저 너비와 높이 비교로 바꾸고, 그다음 스크린샷을 말한다안쪽 화면은 지원 방향을 지키지 않는다. 분할 화면에서도 스케일된다
문서나 메일이고, iPad에 새 창이 있다바깥 화면은 입구를 숨기고, 안쪽 화면은 실패를 처리한다새 창은 바깥 화면에서 만들 수 없다
카메라 앱이고, 프롬프터를 만들려 한다분할 화면을 먼저 통과하고, 액세서리는 뒤에 보강한다액세서리에는 안쪽 화면 전체 화면과 카메라 세션이 필요하다. 분할 화면은 모든 앱의 기본이다
App Store 스크린샷만 바꾸려 한다먼저 27.1을 통과하고, 그다음 그림을 바꾼다옛 SDK의 안쪽 화면은 여백이다. 배지가 여백을 적응으로 바꾸지 않는다
사무실에 Mac이 없다한 대 빌리고, 먼저 sw_vers와 xcodebuild -version을 본다시스템이 맞지 않으면, 일 요금을 내도 유효한 칸이 생기지 않는다

실기는 따로 한 줄에 둔다. 힌지 감각과 시뮬레이터가 하지 못하는 항목에는 기계 한 대가 필요하다. 표시가는 주문하는 시점의 Apple 상점 페이지를 따른다. 그 줄을 Xcode 티켓마다 나누지 않는다. 모두에게 Duo를 줘도 UIScreen.main은 사라지지 않는다. 바깥 화면이 갑자기 새 창을 만들 수 있게 되지도 않는다.

추천 조합

A — 개인 개발자이고, 레이아웃이 이미 크기를 따른다: Xcode 27.1, 로컬 또는 원격 노드 하루. 코딩 도우미에 「get my app ready for iPhone Duo」를 돌리거나, 터미널에서 xcrun agent skills export를 실행해 다른 에이전트에 넘긴다. 스캔이 비어 있으면 Device Hub로 들어간다. 닫힘, 반접힘, 펼침을 각각 한 번 돌리고, 분할 화면을 좌우로 끈다. 바깥 화면에서 「새 창」을 한 번 눌러 입구가 사라지는지 확인한다. 스토어 스크린샷은 App Store Connect 미리보기에서 Duo를 본다. 이번 한 바퀴를 위해 시험용으로 기계를 살 필요는 없다. 노드 월 요금은 요금 페이지에 있다.

B — 작은 팀이고, 방향과 맞춤 막대가 남아 있다: 1주차는 스캔과 화면 싱글톤만 한다. 주 임대거나 바로 월 임대를 쓰고, 일 임대를 7일째까지 굴리지 않는다. 2주차에 방향 분기를 너비와 높이 비교로 바꾸고, 안전 영역의 네 변을 따로 쓴다. 3주차에 분할 화면 좌우로 그림을 한 장씩 남기고, 두 번째 씬의 실패 경로를 회귀에 적는다. CI는 기존 빌드 기계를 탄다. 사람이 열고 닫는 것을 봐야 하는 회차는 같은 원격 Mac을 쓴다. 24GB 월 임대 200.9달러는 Duo와 다른 시뮬레이터를 병렬로 열 때만 올린다. 40.2를 다섯 번 내면 이미 이 단계의 월 임대와 같다.

C — 판매가 시작되는 주에 제출한다: 오늘은 10월 15일이고, 예약은 내일 시작되며, 판매는 10월 23일이다. 약속할 수 있는 것은 27.1에서 주요 경로에 여백이 없고, 세로 막대가 주 버튼을 가리지 않으며, 분할 화면이 변을 바꾼 뒤에도 버튼이 있고, 바깥 화면에 무효한 새 창이 나오지 않는 것이다. 끝내지 못한 힌지 효과와 카메라 액세서리는 스토어 문안에 쓰지 않는다. 개통은 임대 페이지에서 한다. 시스템 버전과 계정은 도움말을 따른다. 임대 이미지에 Xcode 27.1이 미리 설치돼 있다고 가정하지 않는다.

흔한 실수

  1. 실행을 적응 완료로 쓴다. iOS 26 SDK의 안쪽 화면은 가운데 여백이다. 사용자는 빈 변을 「적응 중」으로 읽지 않는다.
  2. 사양 페이지의 1398이나 1878을 상수에 넣는다. 그것은 픽셀 규모다. 창은 분할 화면과 반접힘에서 더 작고, 스케일도 직접 적으면 안 된다.
  3. 방향으로 안쪽 화면의 세로와 가로를 정한다. 안쪽 화면은 지원 방향을 지키지 않는다. 세로와 가로는 지금 창의 가로세로 비로 잡는다.
  4. UIRequiresFullScreen이 분할 화면과 열고 닫기를 끈다고 생각한다. 키는 여전히 유효하다. 열고 닫을 때 크기는 여전히 바뀐다. 선언한 방향도 안쪽 화면의 스케일을 막지 못한다.
  5. 바깥 화면에 항상 누를 수 있는 새 창을 남긴다. 새 창은 안쪽 화면에서만 된다. 실패를 처리하지 않으면 닫았을 때 오류가 뜬다.
  6. 힌지 각도로 레이아웃을 짠다. 각도는 효과에 맞다. 레이아웃은 size class, 예약 영역, arrangement를 쓴다.
  7. 일 임대를 한 주 다 낸다. 16GB 근무일 5일은 이미 월 임대와 같다. 8일째는 과금 주기에 돈을 내는 날이다.

실행 단계: 7단계

  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. Device Hub의 iPhone Duo를 연다. 닫힘, 반접힘, 펼침을 각각 한 번 회전한다. 그다음 Home 인디케이터로 안쪽 화면의 앱을 왼쪽과 오른쪽으로 끈다. 주요 경로는 칸마다 그림을 한 장 남긴다.
  5. 안쪽 화면에서 두 번째 씬을 요청하고, 성공이든 실패든 받았는지 확인한다. 바깥 화면에서는 UIWindowSceneActivationAction이 스스로 숨는지 확인한다.
  6. 세로 막대가 주 버튼을 가리는지, 좌우 inset이 같다고 쓰였는지, 전체 화면 이미지의 주제가 남는지, 반접힘에서 예약 영역이 컨트롤을 누르는지 본다. 힌지 각도는 효과만 확인하고, 레이아웃은 확인하지 않는다.
  7. 과금 주기를 고른다. 1일이나 2일은 일 임대. 스캔이 이미 더러우면 월 임대로 바꾼다. 주문 전에 노드에서 sw_vers와 xcodebuild -version을 실행한다. 주요 경로가 깨끗해진 뒤에 Duo 스크린샷을 바꾸고, Connect 미리보기로 본다. 다른 iPhone 캔버스를 억지로 줄이지 않는다.

FAQ

코드를 바꾸지 않은 옛 앱이 iPhone Duo 출시 당일에 열리나요?

열립니다. iOS 26 SDK나 그 이전으로 빌드하면, 펼쳤을 때 창이 가운데 여백과 함께 있고, 닫으면 내용이 상태 막대와 카메라 왼쪽에 붙습니다. 실행은 적응 완료가 아닙니다. 화면을 채우고 세로 막대를 쓰려면 iOS 27.1 SDK가 필요합니다. 분할 화면과 두 번째 창도 「열린다」고 해서 저절로 맞지 않습니다.

가로를 Info에만 선언하면, 안쪽 화면이 그 방향을 지키나요?

바깥 화면은 선언한 지원 방향을 지킵니다. 텐트 자세는 따로 볼 가치가 있습니다. 안쪽 화면은 지키지 않고, 분할 화면에서 앱은 여전히 스케일됩니다. UIRequiresFullScreen은 열고 닫아서 생기는 크기 변화를 막지 못합니다. 레이아웃은 지금 창의 너비와 높이를 비교합니다.

멀티윈도는 선택인가요?

분할 화면은 선택이 아닙니다. Apple은 모든 앱이 나란히 선다고 적었고, 비디오와 앱을 겹쳐도 같은 size class를 탑니다. 새 창은 안쪽 화면에서만 만들 수 있습니다. 바깥 화면의 입구는 스스로 숨는 UIWindowSceneActivationAction을 써야 합니다. 카메라의 바깥 화면 액세서리는 가산점이고, 안쪽 화면 전체 화면과 진행 중인 카메라 세션이 필요합니다.

시뮬레이터만 있을 때 테스트 비용은 어떻게 계산하나요?

레이아웃 주요 경로에는 충분합니다. Apple은 Xcode 27.1의 iPhone Duo 시뮬레이터를 완전한 경험을 시험하는 최선의 방법이라고 적습니다. M4 16GB 일 임대는 20.2달러이고, 근무일 5일은 월 임대 100.9달러와 같습니다. 스캔이 둘째 날에 더러우면 일 임대를 8일째까지 내지 않습니다. 24GB는 하루 40.2달러, 한 달 200.9달러이고, 일 임대 5회도 마찬가지로 월 임대에 맞습니다. 힌지 감각에는 여전히 실기가 필요하고, 그 줄은 시뮬레이터 티켓에 나누지 않습니다.

Mac이 없어도 출시 전에 시험할 수 있나요?

Windows에서는 Xcode 27.1을 돌릴 수 없습니다. 노드 macOS가 잠근 Xcode를 설치할 수 있는지 먼저 확인합니다. 시스템 요구는 Apple의 Xcode 시스템 요구를 따릅니다. 미러링 늘이기 항목에 대해 준비 페이지는 macOS 27이라고 적습니다. 원격 노드는 임대 페이지에서 열고, 가격은 요금 페이지를 따릅니다.

정리

iPhone Duo는 10월 23일에 판매가 시작된다. 다시 맞추기의 문턱은 「열리는가」가 아니다. 먼저 크기가 아직 화면 전체를 읽는지, 방향이 아직 안쪽 화면을 정하는지, 새 창이 바깥 화면에서 아직 눌리는지 본다. 이 세 관문이 깨끗하면 테스트 비용은 시뮬레이터 행렬 한 바퀴이고, 일 임대 5일이 한 달과 같으면 월 임대로 바꾼다. 이미 크기에 맞춘 작은 앱은 로컬이나 단기 임대를 쓴다. 방향, 픽셀, 창 하나 가정이 남은 쪽은 월 임대로 회귀를 남긴다. 스크린샷 배지는 여백을 해결하지 못한다. 원격 노드는 임대 페이지와 요금 페이지에서 보고, 계정과 시스템 버전은 도움말을 따른다.

더 읽을 글

Xcode 27.1의 분할 화면과 열고 닫기에는 시스템 버전이 맞는 Mac이 필요하다

iPhone Duo 시뮬레이터는 Xcode 안에 있고 Windows에는 없다. 원격 Mac은 닫힘, 반접힘, 펼침과 좌우 분할을 끝낸 뒤 환경을 지우기에 맞다. 주문 전에 노드의 macOS가 잠근 Xcode를 설치할 수 있는지 먼저 확인한다.

지금 주문 · 요금 보기

iPhone Duo · 출시 전

Xcode 27.1의 분할 화면과 열고 닫기에는 시스템 버전이 맞는 Mac이 필요하다

Cloud Mac · Xcode 27.1 · iPhone Duo

지금 주문
Mac 지금 주문