Engineering
What's New in iOS11
2017년 9월 13일
원문에서 보기 ↗안녕하세요. 게임플랫폼클라팀 박판기입니다.
해당 포스트에서는 곧 출시될 iOS11의 새로운 피처들과 향상된 기능들, 그리고 변경된 점들을 다뤄보겠습니다.
WWDC 2017 + iOS11 Beta
지난 WWDC 2017 에서 iOS11에 대한 많은 정보가 공유되었습니다. iOS11은 이번 9월 20일 출시 예정인데요, 새로운 iPhone 시리즈와 함께 출시될 예정입니다.
iOS11 에 대한 베타버전은 다음의 링크에서 다운로드를 하실 수 있습니다.
Goodbye 32-Bit
1. 64-Bit Only
- iOS11은 64-Bit 기기에만 호환이 됩니다.
- 그러므로 iOS11부터는 32-Bit 앱의 실행이 불가능합니다. 이에, 혹여 32-Bit 앱으로 배포하는 앱이 있다면, 64-Bit앱으로 변환을 해야 합니다.
2. Compatible Devices
- iOS11을 지원하는 기기는 같이 출시될 예정인
iPhoneX,iPhone 8를 포함하여 다음과 같습니다.
| iPhone | iPad | iPod touch |
|---|---|---|
| iPhone X iPhone 8(+) iPhone 7(+) iPhone 6s(+) iPhone 6(+) iPhone SE iPhone 5s | 12.9-inch iPad Pro (2세대) 12.9-inch iPad Pro (1세대) 10.5-inch iPad Pro 9.7-inch iPad Pro iPad Air2 iPad Air iPad (5세대) iPad mini4 iPad mini3 iPad mini2 | iPod touch (6세대) |
참고
맥용 32-bit 앱 지원은 2018년에 종료할 예정이라고 합니다.
AppStore 변경점
1. Promotion
- AppStore에서 앱실행/다운로드 전, 미리 "인앱결제"(이하
프로모션)를 할 수 있습니다.- AppStore에서 각 인앱결제 상품의 메타데이터를 이용해 프로모션이 가능합니다.
- 이에, StoreKit의 PaymentQueue(_:shouldAddStore:for:) 메소드를 구현하여, 영수증 정보 등 결제 정보를 처리해야 합니다.
- ex) AppStore내 프로모션 화면 예시

2. AppStore
- 앱 등록 시 Title 제한 길이가 50자에서 30자로 축소되었습니다.
- 대신, Subtitle 필드가 추가되어 검색 등에 사용할 수 있습니다. (30자 제한)
- Localization이 가능한 동영상 개수가 늘어났습니다. 이에 App Preview 동영상을 3개까지 올릴 수 있게 되었습니다.
- 언제든지 수정할 수 있는 Promotional Text 필드가 추가되었습니다. (170자) 앱 설명 위에 표시되며 이벤트 등을 알릴 수 있습니다.
App Frameworks
1. Drag & Drop (SplitView)
- iOS에서 드래그앤 드랍기능을 제공합니다.
- iPad에서는
앱 간에 드래그 앤 드랍이 지원되어 보다 향상된 경험을 할 수 있습니다. - iPhone에서는
앱 내부에서만 동작합니다. - 아래의 File Explorer 등에서 그 진가를 발휘합니다.
2. File Explorer
- 드디어, 오랜 시간 iOS 유저들의 요구사항인 공식적인 파일 탐색기를 지원하게 되었습니다.
- 다른 앱들(GoogleCloud, iCloud, Dropbox, TOAST Cloud 등)과의 상호작용을 할 수 있습니다.
Media Format 변경
각각의 미디어에 대해 고압축 포맷을 지원합니다.
- 사진(HEIF), 영상(HEVC), 음악(FLAC)
- 미디어로 인한 용량관리 측면에서 큰 향상이 있습니다.
- 새로운 압축 포맷을 위해서는 A9 프로세서 이상이 필요합니다. (
iPhone 6S 이상)
1. 사진
- iOS11에서는 High Efficiency Image Format을 지원합니다. (HEIF)
- HEIF 는 새로운 이미지 압축의 표준으로 동일한 이미지 퀄리티를 제공하며 2배에 가까운 데이터 압축률을 제공합니다.
2. 영상
- High Efficiency의 Video Coding을 지원합니다. (HEVC)
- HEVC는 새로운 비디오 인코딩의 표준으로 H.264와 비교해서 같은 비디오 퀄리티를 제공함과 동시에 향상된 압축률을 보입니다.
3. 음악
- 현재까지 애플은 iTunes와 iOS에서 FLAC 포맷 파일 재생을 지원하지 않았습니다. 그래서 많은 서드파티 앱들로 해당 파일 재생을 했었는데요, iOS11부터는 음악 파일에 대한 재생이 가능합니다.
Graphics and Games
iOS11에서는 그래픽에 관련한 많은 업데이트가 있었는데요, 고성능 영상인식 처리나 GPU Computing 등을 위한 기반 프레임워크들이 개선 및 추가되었습니다.
1. Metal2
- 기존 Metal은 디바이스의 GPU를 사용해 3D 그래픽을 렌더링하거나, 데이터 병렬 컴퓨팅을 하는데 사용된 framework입니다.
- Metal2가 나오며, 그 기능이 확대되었습니다. Metal2 framework의 출시는 후에 설명할 Core ML framework와의 연동을 통해 더욱 강력한 기계학습모델 등을 지원합니다.
- Neural Network를 지원하며 크로스 플랫폼 Metal Performance Shader를 지원합니다.
2. ARKit framework 추가

- Device Motion Tracking, Camera Scene Capture, 증강현실 구현을 단순화시키는 등의 많은 증강현실 관련 기능들을 가지고 있는 프레임워크입니다.
- 언리얼, 유니티, 스팀 VR을 이제는 MacOS/iOS에서 사용할 수 있습니다.
3. Vision framework 추가
- 얼굴 인식, 바코드, 텍스트, Image Horizon, Rectangular regions 등을 Detect 하거나 Video에서 Object를 트래킹할 수 있는 영상인식 관련 프레임워크입니다.
- 이미지에 대하여 custom model을 구현하기 위해서 Core ML Framework와 연동하여 사용합니다.
4. Core ML framework 추가

- Core ML framework는 애플리케이션에서 머신러닝 구현을 쉽게 도와주는 framework입니다. 고성능을 유지하며 배터리 효율을 높인 머신러닝 기능을 구현할 수 있다고 합니다.
- 얼굴인식, 고유명사 인식, 객체 추적, 언어 인식 등의 기능들은 상위 프레임워크인 Vision(영상처리), NLP(자연어처리) 프레임워크에 포함되어 있습니다.
Multipath TCP
iOS 9 에서 지원한 Wi-Fi Assist 기능은 Wifi 신호가 약할 때, Cellular 망에 붙을 수 있는 기능이었는데요, 해당 기능을 확장한 것이 Multipath TCP(MPTCP) 입니다.
- MPTCP에서는 primary TCP connection으로 Wi-Fi를 설정하고, cellular 데이터를 이용하여 backup connection을 맺습니다.
- 만약, Wi-Fi 응답이 없거나 사용 불가 상태일 때는 celluar data 커넥션을 사용합니다.
- iOS MPTCP 흐름도

- 해당 기능의 사용을 위해서는 서버 / 클라이언트 작업이 둘 다 필요합니다.
- 서버: MPTCP는 TCP Option field 30을 사용합니다. 서버와 iOS기기 사이에 MPTCP를 지원하지 않는 미들웨어가 있다면, MPTCP는 정상적으로 동작하지 않고, standard TCP Connection 처럼 동작합니다. 이에 서버 관리자는 미들웨어에 대한 확인과 함께 방화벽 정책을 확인하여야 합니다.
- 클라이언트: MPTCP 사용을 위해서는
URLSessionConfiguration클래스의MultipathServiceType설정을 해주어야 합니다.
System
1. Hotspot Extension
- Hotspot 설정을 위한 Network Extension Framework가 추가되었습니다.
- Xcode Project Capability의 Hotspot Configuration을 활성화 한 후, NEHotspotConfigurationManager 를 이용하여 설정된 SSID 등에 접속할 수 있습니다.
2. Core NFC Framework
- 이제 iPhone에서 NFC 데이터를 읽을 수 있습니다. (
읽기만 가능합니다,쓰기는 불가능합니다) 근처에 있는 NFC Tag를 읽을 수 있으며, NDEF 데이터가 포함된 메시지를 읽을 수 있습니다.
3. APFS (Apple File System)
- 기존 HFS+ 파일시스템에서 APFS 시스템으로 기본 파일 시스템을 변경하였습니다.
- 사실, HFS 파일시스템에 컴퓨터 보안, 개인정보 보호 등을 하기 위해 여러 기능을 붙여가며 Apple이 HFS+를 유지보수 해왔는데요, 이번에 이러한 요구를 모두 충족시키는 APFS로 변경을 하게 되었습니다.
마치며
iOS11에서는 주로 ARKit, CoreML Framework가 뜨거운 이슈가 되었고, 서비스 개발 측면에서는 AppStore Promotion 기능이나, MPTCP, 32-Bit fadeout 등의 이슈가 중요한 점이었습니다.
위에 설명한 피쳐들 외에도, 많은 다양한 기능들이 iOS11에 추가 및 개선되었는데요, (예를 들어 Swift4, HomeKit, SiriKit 등) 아래 Reference 링크들에서 필요한 정보들을 얻으실 수 있습니다.
Reference
- Apple iOS 11: https://www.apple.com/ios/ios-11-preview/
- Apple iOS 11 개발자: https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS_11_0.html
- Apple Xcode9: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/WhatsNewXcode/xcode_9/xcode_9.html#//apple_ref/doc/uid/TP40004626-CH8-SW1
- Apple Swift4 : https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097