외부 화면에서는 버튼이 보이는데 내부 화면을 펼치면 빈 공간과 겹침이 생긴다면, 모든 접힘 상태마다 화면을 다시 만들지 말고 먼저 늘어나는 배치와 개발 환경을 정리해야 합니다.
iPhone Duo 앱 적응의 가장 빠른 해법은 최신 Xcode와 SDK 상태를 확인하고, 외부 화면·내부 화면·다중 창·접힘 상태 순서로 검증하는 것입니다. 출시 전에는 모의 환경으로 배치 문제를 대부분 찾을 수 있지만, 카메라·배터리·터치·힌지 동작은 실기기에서 다시 확인해야 합니다.
이 글은 고정 화면 크기, 방향 판단, 사용자 정의 탐색 막대에 의존하는 iOS 개발자와 품질 보증 담당자를 위한 실행 문서입니다. 임시로 테스트 동시 실행을 늘려야 하거나 안정적인 맥 빌드 환경이 부족한 팀도 대상입니다.
최종 확인일: 2026년 9월 10일. 개발 도구와 기기 동작은 애플의 iPhone Duo 공식 발표, 애플 개발자 공식 기술 강연, 관련 공식 문서를 기준으로 확인했습니다.
출시 전 위험 분류: 다시 만들기보다 먼저 걸러내기
전형적인 실패는 화면이 작아서만 발생하지 않습니다. 앱이 특정 너비를 전제로 구성되어 있거나, 가로와 세로 방향만 보고 화면을 분기하거나, 안전 영역을 무시한 여백을 직접 계산할 때 문제가 커집니다. 외부 화면에서는 탐색 막대가 보이지만 내부 화면에서는 콘텐츠를 덮을 수 있습니다. 분할 화면에서는 입력창이 키보드 아래로 내려갈 수도 있습니다.
먼저 앱을 다음 세 부류로 나누면 작업 범위가 선명해집니다.
- 수정 없이 관찰할 앱: 표준 배치와 표준 탐색 구성을 사용하며 창 크기에 따라 자연스럽게 줄어드는 앱입니다.
- 배치 수정이 필요한 앱: 고정 너비, 고정 높이, 특정 화면 크기 참조, 방향 중심 분기, 안전 영역 우회 코드가 있는 앱입니다.
- 전용 기능 검증이 필요한 앱: 카메라 미리보기, 다중 창, 화면 속 화면, 사용자 정의 제스처, 큰 화면의 두 영역 구성을 사용하는 앱입니다.
고정 크기나 안전 영역 우회가 있으면 높은 위험으로 분류합니다. 표준 배치를 사용하지만 큰 화면 분기가 부족하면 중간 위험으로 둡니다. 창 크기 변화와 접근성 동작까지 자동 회귀하는 앱은 낮은 위험으로 시작할 수 있습니다.
첫 준비: Xcode 27과 iOS 27 상태 고정하기
Xcode 27과 iOS 27 관련 도구가 정식 상태인지 시험 상태인지 먼저 구분해야 합니다. 다운로드 화면에 시험판이나 추후 제공으로 표시된 기능을 안정 버전처럼 문서화하면 팀 전체의 재현성이 무너집니다. 현재 요구되는 시스템 조건은 Xcode 공식 시스템 요구 사항에서 확인합니다.
환경 기록에는 다음 내용을 포함합니다.
- 사용한 Xcode 빌드와 SDK 상태
- 맥 운영 체제와 의존성 설치 상태
- 서명 방식과 빌드 구성
- 테스트에 사용한 앱 산출물
- 모의 기기의 화면 크기와 창 상태
- 실패 로그와 기준 캡처의 저장 위치
로컬 맥과 클라우드 맥을 함께 쓰는 팀이라면 이 값을 동일하게 맞춰야 합니다. 클라우드 맥과 로컬 맥 개발 환경 비교 안내를 참고해 빌드 환경을 나누더라도 도구 버전과 산출물 이름은 통일해야 합니다.
처음부터 코드를 수정하지 말고 기존 앱을 그대로 빌드합니다. 외부 화면, 내부 화면, 창 크기 변경 뒤의 화면 캡처와 로그를 저장하면 이후 수정이 실제 문제를 해결했는지 비교할 수 있습니다.
첫날의 핵심: 고정 배치와 늘어나는 배치 비교하기
첫날에는 화면을 예쁘게 다듬기보다 배치의 전제를 찾습니다. UIKit 배치 공식 문서의 방향에 맞춰 표준 제약, 크기 등급, 장면 경계, 표준 탐색 구성을 우선 사용합니다.
특히 다음 코드를 찾습니다.
- 특정 화면 너비와 높이를 직접 비교하는 조건
- 주 화면의 크기만 읽어 창 경계를 대신하는 코드
- 세로와 가로 두 상태만으로 모든 배치를 결정하는 코드
- 시스템 안전 영역 위에 콘텐츠를 강제로 그리는 코드
- 내부 화면에만 표시할 두 번째 영역을 전역 상태로 관리하는 코드
외부 화면에서는 핵심 정보와 주요 동작이 유지되어야 합니다. 내부 화면에서는 공간이 넓어진 만큼 보조 목록이나 상세 정보를 추가할 수 있지만, 화면을 넓혔다는 이유로 핵심 동작의 위치를 바꾸면 사용자가 혼란을 겪습니다. 같은 정보 계층을 유지하면서 배치만 확장하는 것이 첫 번째 통과 조건입니다.
장면 크기 제한을 직접 다뤄야 한다면 공식 장면 크기 제한 문서를 기준으로 검토합니다. 문서에 없는 전용 인터페이스 이름을 추측해 구현하지 말고 현재 SDK에서 확인되는 API만 사용해야 합니다.
둘째 날부터 셋째 날까지: 접힘과 다중 작업 분리하기
완전히 닫힌 상태와 완전히 펼친 상태만 통과시키면 부족합니다. 다음 상태를 각각 따로 검사합니다.
- 닫힌 상태에서 실행하고 탐색하는 과정
- 펼치는 동안 화면과 입력이 이어지는 과정
- 완전히 펼친 상태에서 두 영역을 사용하는 과정
- 부분적으로 접힌 상태에서 입력 요소가 가려지지 않는지
- 분할 화면과 화면 속 화면에서 창이 줄어드는 과정
- 다른 앱으로 갔다가 돌아왔을 때 작성 내용과 탐색 위치가 유지되는지
접힘 부근에 버튼이나 입력창을 배치하지 않는 것이 기본 원칙입니다. 힌지 상태를 읽는 전용 동작이 실제 업무에 필요할 때만 해당 상태를 별도로 다룹니다. 기본 배치 전체에 전용 하드웨어 조건을 퍼뜨리면 모의 환경과 다른 기기에서 유지 비용이 커집니다.
화면 전환 때 다시 그려지는 것 자체를 결함으로 보지는 않습니다. 결함은 입력한 값이 사라지거나, 탐색 계층이 초기화되거나, 터치 영역과 보이는 버튼의 위치가 달라지는 경우입니다. 이 기준으로 로그와 화면 기록을 함께 남겨야 합니다.
주의: 모의 환경에서 통과한 화면이 실제 손가락 입력까지 보장하지는 않습니다. 작은 외부 화면의 터치 영역, 접히는 중의 제스처, 카메라 방향과 미리보기 비율은 실기기 확인 항목으로 남겨야 합니다.
결정 조건 목록: 다음 테스트 환경을 선택하는 기준
아래 목록을 회의용 결정 도구로 사용하면 장비를 무조건 늘리지 않고도 다음 단계를 정할 수 있습니다.
- [ ] 고정 너비, 고정 높이, 안전 영역 우회 코드가 남아 있으면 최신 모의 환경에서 배치 검사를 먼저 진행합니다. 이 항목을 통과하기 전에는 실기기 테스트를 완료한 것으로 처리하지 않습니다.
- [ ] 모의 환경에서 외부 화면과 내부 화면의 핵심 흐름이 모두 통과하면 창 크기 변화와 분할 화면으로 범위를 넓힙니다. 하나라도 실패하면 화면별 수정 목록으로 되돌아갑니다.
- [ ] 빌드는 안정적이지만 여러 회귀 실행이 대기열에 쌓이면 기존 맥을 유지하고 임시 클라우드 맥 동시 실행을 검토합니다. 서명과 의존성 재현이 되지 않으면 환경 확장보다 고정 작업을 먼저 합니다.
- [ ] 카메라, 장시간 실행, 접히는 중의 제스처가 핵심 기능이면 모의 환경만으로 출시 승인을 내리지 않습니다. 실기기 확인을 필수 통과 조건으로 둡니다.
- [ ] 힌지 상태가 업무 기능에 필요하지 않으면 전용 하드웨어 로직을 추가하지 않습니다. 창 크기 변화에 반응하는 배치를 우선하고, 실제 필요성이 확인된 뒤 별도 기능으로 분리합니다.
- [ ] 로그인, 결제, 작성 내용 보존, 핵심 탐색이 막히면 출시 차단으로 분류합니다. 기능은 작동하지만 일부 간격이나 색상만 어긋나면 후속 수정 대상으로 기록합니다.
이 목록의 핵심은 모든 상태를 같은 방식으로 검사하지 않는 것입니다. 자동화할 수 있는 배치와 사람이 직접 봐야 하는 터치·카메라·열 상태를 분리해야 일정이 통제됩니다.
첫 주의 회귀 기준: 자동화와 사람의 관찰 나누기
자동화 회귀에는 실행, 첫 화면 표시, 화면 방향 변화, 창 크기 변경, 백그라운드 이동과 복귀, 핵심 탐색 경로, 접근성 요소를 넣습니다. 장치와 창 상태를 바꾼 뒤에도 같은 테스트가 반복 가능해야 합니다. 장면과 뷰 컨트롤러 관리 문서는 화면 생명 주기와 구성 분리를 점검할 때 기준으로 사용할 수 있습니다.
다음 항목은 사람의 관찰이 필요합니다.
- 접힘 부근에서 버튼이 손가락에 실제로 눌리는지
- 펼치는 동안 콘텐츠가 갑자기 튀거나 깜박이지 않는지
- 카메라 부속 기능과 미리보기가 자연스럽게 이어지는지
- 긴 시간 실행할 때 발열과 배터리 소모가 과도하지 않은지
- 작은 글자, 큰 글자, 음성 제어 등 접근성 설정에서 정보가 가려지지 않는지
결함 등급은 세 단계로 단순화합니다. 로그인과 결제 같은 핵심 흐름이 막히거나 입력 내용이 사라지면 출시 차단입니다. 특정 화면에서만 배치가 어긋나지만 우회 경로가 있으면 후속 수정 대상으로 분류합니다. 색상이나 간격처럼 기능을 막지 않는 차이는 관찰 항목으로 기록합니다.
출시 후 실기기 확인: 범위를 줄이고 결론 남기기
실기기에서는 외부 화면과 내부 화면의 터치 열점, 펼치는 동안의 상태 보존, 카메라 부속 기능, 발열, 배터리, 장시간 실행을 우선 확인합니다. 모의 환경에서 이미 통과한 일반 버튼 배치까지 무제한으로 다시 검사하면 일정만 늘어납니다.
실기기 등록과 앱 배포 절차는 등록된 기기에 앱을 배포하는 애플 공식 문서를 기준으로 확인합니다. 장비가 도착한 뒤에는 전체 테스트를 처음부터 반복하지 말고 출시 전 기준 캡처와 로그를 중심으로 차이를 확인합니다.
출시 판단은 세 가지로 남깁니다.
- 핵심 흐름과 실기기 특수 기능이 모두 통과하면 호환 버전을 배포합니다.
- 기능은 통과하지만 일부 화면에 경미한 시각 결함이 있으면 제한된 사용자에게 먼저 배포합니다.
- 입력 손실, 카메라 오류, 접힘 중 앱 중단, 과도한 발열이 남으면 배포를 멈추고 수정합니다.
이렇게 하면 접이식 아이폰 앱 호환성 검사를 막연한 전체 재시험이 아니라 기준 캡처와 실제 차이를 비교하는 작업으로 바꿀 수 있습니다.
현재 맥 환경과 임시 환경 비교하기
짧은 적응 기간에는 기존 맥만으로도 충분할 수 있지만, 여러 빌드와 모의 환경을 동시에 돌리면 대기열이 길어지고 도구 버전이 섞이며 테스트 산출물 관리가 어려워질 수 있습니다. 반대로 클라우드 맥은 임시 확장에 유리하지만 네트워크 지연, 파일 전달, 서명 인증서 관리, 지속적인 장기 사용 비용을 따져야 합니다.
장기간 안정적인 고부하 빌드와 물리 장비 연결이 필요하면 전용 맥을 직접 운영하는 편이 맞습니다. 출시 전후처럼 짧은 호환성 집중 기간에만 빌드 동시성을 늘려야 한다면 MacPull의 맥 환경 안내와 Xcode 환경 배포 안내를 함께 확인해 현재 용량과 추가 환경의 필요성을 비교해 보시기 바랍니다.
현재 환경만 고집하면 빌드 대기와 테스트 병렬화 부족이 병목이 될 수 있고, 클라우드 맥만 장기 운영하면 네트워크와 인증서 관리가 부담이 될 수 있습니다. 따라서 안정적인 상시 개발은 기존 맥에 두고, iPhone Duo 앱 적응처럼 짧은 기간에 빌드와 회귀 실행이 몰리는 경우에만 임시 맥 환경을 추가하는 방식이 합리적입니다. 먼저 기준 캡처와 통과 조건을 만들고, 실제 병목이 확인된 뒤 환경을 확장해야 합니다.
자주 묻는 질문
기존 아이폰 앱을 iPhone Duo용으로 처음부터 다시 만들어야 하나요?
대부분의 앱은 처음부터 다시 만들 필요가 없습니다. 고정된 너비와 높이, 특정 화면을 직접 참조하는 코드, 방향만으로 화면을 나누는 로직부터 점검하면 됩니다. 표준 제약 기반 배치와 크기 등급을 사용한다면 외부 화면과 내부 화면에 맞춰 배치를 조정하는 작업으로 끝날 수 있습니다. 다만 사용자 정의 탐색 막대와 다중 창을 직접 관리하는 앱은 별도 검증이 필요합니다.
iPhone Duo 모의 환경에서 내부 화면과 외부 화면 전환을 어떻게 확인하나요?
먼저 최신 Xcode 27과 iOS 27 관련 도구가 현재 어떤 상태인지 애플 개발자 페이지에서 확인합니다. 모의 환경에서 닫힌 상태, 펼친 상태, 중간 상태, 창 크기 변경을 순서대로 실행하고 같은 화면의 캡처와 기록을 남깁니다. 전환 때 화면이 다시 그려지는지보다 입력 위치, 탐색 상태, 작성 중인 내용이 유지되는지를 함께 확인해야 합니다.
iPhone Duo 앱 배치에서 우선 점검할 부분은 무엇인가요?
고정 너비와 높이, 주 화면을 직접 읽는 코드, 세로와 가로 방향만으로 분기하는 코드, 시스템 안전 영역을 무시하는 여백을 먼저 확인합니다. 그다음 내부 화면의 두 영역 배치, 창 축소 때의 탐색 상태, 화면 접힘 부근의 입력 요소, 카메라 미리보기 비율을 점검합니다. 표준 탐색 구성 요소와 늘어나는 배치를 우선하는 편이 안전합니다.
iPhone Duo 실기기 없이 출시 전 적응을 끝낼 수 있나요?
레이아웃, 창 크기 변화, 화면 전환, 실행과 복귀, 많은 사용자 인터페이스 회귀 검증은 모의 환경으로 상당 부분 진행할 수 있습니다. 그러나 실제 터치 영역, 접히는 동안의 연속 동작, 카메라 부속 기능, 발열과 배터리 소모, 긴 시간 사용은 실기기로만 판단할 수 있습니다. 따라서 출시 전에는 위험을 줄이고 출시 후에는 제한된 범위로 실기기 확인을 마무리해야 합니다.
접이식 아이폰 앱 호환성 검사는 보통 얼마나 걸리나요?
기간은 화면 구조와 테스트 자동화 수준에 따라 달라집니다. 고정 크기 코드가 적은 앱은 환경 확인과 핵심 회귀부터 시작할 수 있지만, 사용자 정의 탐색과 다중 창을 함께 쓰면 수정과 재검증이 늘어납니다. 일정은 특정 날짜를 고정하기보다 준비 단계, 첫 빌드, 핵심 배치 수정, 전체 회귀, 실기기 확인으로 나누고 각 단계의 통과 조건을 정하는 방식이 정확합니다.