아이폰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

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares7 views
Swift 3.0
shares7 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares1 views
Swift 3.0
shares1 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-59043fbdbedf9234180051/] [crayon-59043fbdbedfe116117923/] [crayon-59043fbdbee00504611240/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares4 views
Swift 3.0
shares4 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…

4 Responses

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