아이폰6 가 드디어 발표되었습니다 .

Xcode6도 GM이 나왔고 이를 바탕으로 기존 iOS프로젝트를 iPhone6와 iPhone6 Plus에 대응하는 방법을 정리해봅니다.

해상도 정리

iPhone4S

iPhone5/5S

iPhone6

iPhone6 Plus

기기픽셀 640×960 640×1136 750×1334 1080×1920(1242×2208)
논리적 픽셀

320×480

320×528

375×667

414×736

픽셀 밀도

326ppi

326ppi

326ppi

401ppi

기기 픽셀비율

2.0

2.0

2.0

3.0

이제 iOS도 화면 파편화시대가 온듯 보여집니다. 특히 좀 짜증날 부분은 iPhone6 Plus로 픽셀비율이 3배입니다. 이는 iOS시뮬레이터에서 화면크기를 디버깅해보면, 414×736의 3배이면 1242×2208이지만 공식으로 밝힌 크기는 1080×1920입니다. 이는 픽셀비율을 정확하게 @2.46이라고 해야할 것 같긴한데  이에 대해서는 아직 파악중입니다.

기존 프로젝트 대응 방법

아이폰6의 iOS시뮬레이터에서 기존 iOS프로젝트에 대해서 아무것도 변경하지 않고 빌드실행하면 320×528로 아이폰5 화면크기를 확대한 형태로 보여집니다. 이는 iPad에서 아이폰 앱을 x2한 것 같은 느낌입니다.  아이폰6의 원래 해상도로 실행하려면 Launch Image 또는 Launch Screen File을 설정해야 할 것 같습니다.

관련 링크

Launch Images로 설정하려면,

xcode6-launch-images1

프로젝트파일 [General탭]-[App Icons and Launch Images]-[Launch Images Source]에서 [LaunchImage]를 지정합니다.

xcode6-launch-image2

images.xcassets의 [LaunchImage]에서 [iOS 8.0 and Later]를 체크하면 [Retina HD 5.5], [Retina HD 4.7]이라는 항목이 나오면 이미지를 설정할 수 있습니다. 새 프로젝트에서 [Launch Screen File]에서 xib파일을 설정하도록 기본적으로 되어 있는 것으로 부팅용 xib파일을 만든 것이 4가지 화면을 이미지로 제공하는 것이 더 좋은 것 같습니다. 이 대응 방법은 이전에 아이폰4에서 아이폰5가 나왔을 경우와 동일합니다. 그리고 테스트해보니, iPhone6 Plus의 3배 이미지를 @3x라고 배치해주면 대응되지만 없으면 @2x를 사용하는 것 같습니다.

Facebook Comments

You may be interested

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares112 views
Swift 3.0
shares112 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares8 views
IoT by Raspberry Pi
shares8 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…

4 Responses

  1. iphone 5/5s의 논리해상도가 이상하네요.. 360*568입니다.