iOS 8 소개

iOS 8을 통해 Apple은 개발자를 흥분시키고 즐겁게 하기 위해 수많은 새로운 프레임워크와 API를 제공했습니다. 이 가이드에서는 이러한 새로운 API를 소개하고 iOS 8이 개발자와 사용자 모두에게 어떻게 도움이 되는지 알아봅니다.

iOS 7은 첫 번째 iPhone OS에서 사용자와 개발자가 기대했던 것과 전체 iOS 사용자 인터페이스를 시각적으로 변경했습니다. IOS 8은 개발자를 위한 많은 프레임워크를 제공하여 이를 계속 진행하며, 이를 통해 사용자는 iPhone 거의 모든 삶의 측면을 직접 제어할 수 있습니다. 예를 들어 HealthKit를 사용하여 건강 및 체력을 분석할 수 있고, 암호는 LocalAuthentication을 사용하여 생체 인식 인증으로 사용되지 않으며, 앱 확장 은 타사 앱 간의 통신 채널을 열고, HomeKit 을 사용하면 집을 미래의 집으로 바꿀 수 있습니다.

iOS 7이 사용자를 기쁘게 하는 경우 iOS 8은 이러한 맛있는 새 도구의 전체 범위로 개발자를 기쁘게 하는 데 중점을 둡니다.

이 가이드에서는 Xamarin.iOS 개발자를 위한 새로운 API를 소개합니다.

또한 iOS 8에서는 사용되지 않는 몇 가지 API가 있으며 이 문서의 끝에 자세히 설명되어 있습니다.

요구 사항

Mac용 Visual Studio iOS 8 앱을 만들려면 다음이 필요합니다.

  • Xcode 7 및 iOS 8 이상 – Apple의 최신 Xcode 및 iOS API를 설치하고 개발자의 컴퓨터에 구성해야 합니다.
  • Mac용 Visual Studio – 최신 버전의 Mac용 Visual Studio 설치하고 사용자 디바이스에 구성해야 합니다.
  • iOS 8 디바이스 또는 시뮬레이터 – 테스트를 위해 최신 버전의 iOS 8을 실행하는 iOS 디바이스입니다.

홈 앤 레저

iOS 8은 HomeKit 및 HealthKit을 사용하여 Apple 및 iOS 장치를 가정의 중심부에 바로 심는 데 도움이되었습니다. 이 섹션에서는 이러한 새 프레임워크의 작동 방식과 Xamarin.iOS 애플리케이션에 통합하는 방법을 살펴봅니다.

HomeKit

iPhone 어플라이언스를 제어하는 것은 새로운 기술 애플리케이션이 아닙니다. 많은 연결된 홈 제품은 iOS 앱을 통해 제어할 수 있습니다. 그러나 HomeKit은 이제 홈 자동화 디바이스에 대한 공통 프로토콜을 홍보하고 iHome, Philips 및 Honeywell과 같은 특정 제조업체에서 공용 API를 사용할 수 있도록 하여 이 단계를 한 단계 더 발전시켰습니다. 이는 사용자에게 하나의 애플리케이션 내에서 거의 모든 홈 측면을 원활하게 제어할 수 있음을 의미합니다. 그들이 필립스 Hue 전구 또는 둥지 경보를 사용하고 있다는 것을 아는 것은 무관합니다. 사용자는 수많은 스마트 홈 프로세스를 "장면"으로 연결할 수도 있습니다.

HomeKit을 사용하면 타사 앱과 Siri가 액세서리를 검색하여 개인 홈 구성 데이터베이스에 추가하고, 이 데이터를 편집 및 처리하고, 액세서리 및 서비스와 통신하여 작업을 수행할 수 있습니다.

구성

아래 다이어그램은 HomeKit 액세서리 구성의 기본 계층 구조를 보여줍니다.

This diagram shows the basic hierarchy of the configuration of HomeKit accessories

HomeKit를 시작하려면 개발자가 프로비전 프로필에 HomeKit 서비스가 선택되어 있는지 확인해야 합니다. Apple은 또한 개발자에게 Xcode용 HomeKit 시뮬레이터 추가 기능을 제공했습니다. Apple 개발자 센터 아래 Hardware IO Tools for Xcode의 에서 찾을 수 있습니다.

자세한 내용은 HomeKit 가이드를 참조하세요.

HealthKit

HealthKit는 iOS 8에 도입된 프레임워크로, 상태 관련 정보에 대한 중앙 집중식, 조정 및 보안 데이터 저장소를 제공합니다. 운영 체제는 상태 정보의 개인 정보 보호 및 보안을 보장하고 상태 앱을 사용하여 사용자를 위한 대시보드를 제공합니다. 사용자의 권한으로 애플리케이션은 다양한 상태 정보를 읽고 쓸 수 있습니다.

Xamarin.iOS 앱에서 이를 사용하는 방법에 대한 자세한 내용은 HealthKit 소개 가이드를 참조하세요.

iPhone 기능 확장

iOS8을 사용하면 개발자가 앱을 사용할 수 있는 사용자를 훨씬 더 많이 제어할 수 있으며, 타사 앱 간의 보다 개방적인 통신을 위한 기능이 향상됩니다. 앱 확장 및 문서 선택기와 같은 기능은 Apple 에코시스템에서 애플리케이션을 사용하는 방법에 대한 가능성을 열어줍니다.

앱 확장

앱 확장은 지나치게 단순화하기 위해 타사 앱이 서로 통신하는 방법입니다. 높은 보안 표준을 유지하고 샌드박스가 적용된 앱의 무결성을 유지하기 위해 이 통신은 애플리케이션 간에 직접 발생하지 않습니다. 대신 중간에 확장 에 의해 수행됩니다.

앱 확장을 만드는 첫 번째 단계는 올바른 확장 지점을 정의하는 것입니다. 이는 올바른 API의 동작과 가용성을 보장하는 데 중요합니다. Mac용 Visual Studio 앱 확장을 만들려면 솔루션에 새 프로젝트를 추가하여 기존 애플리케이션에 추가합니다.

새 Project 대화 상자에서 아래 스크린샷에 표시된 대로 C#>iOSUnified>APIExtensions>로 이동합니다.

Creating a new extension

새 Project 대화 상자는 앱 확장을 만들기 위한 7개의 새 프로젝트 템플릿을 제공하며 아래에서 설명합니다. 대부분의 확장은 문서 선택기 같은 iOS의 다른 새 API와 관련이 있습니다.

  • 작업 – 이를 통해 개발자는 사용자가 특정 작업을 수행할 수 있는 고유한 사용자 지정 작업 단추를 만들 수 있습니다.
  • 사용자 지정 키보드 – 개발자가 고유한 사용자 지정 키보드를 추가하여 기본 제공 Apple 키보드 범위에 추가할 수 있습니다. 인기 있는 키보드인 Swype는 이를 사용하여 키보드를 iOS로 가져옵니다.
  • 문서 선택 – 사용자가 애플리케이션의 샌드박스 외부 파일에 액세스할 수 있는 문서 선택기 보기 컨트롤러가 포함되어 있습니다.
  • 문서 선택기 파일 공급자 – 문서 선택기를 사용하여 파일에 대한 보안 스토리지를 제공합니다.
  • 사진 편집 – 사용자가 사진을 편집할 때 더 많은 제어 및 더 많은 옵션을 제공하기 위해 사진 애플리케이션에서 Apple이 이미 제공한 필터 및 편집 도구를 확장합니다.
  • 오늘 – 이렇게 하면 애플리케이션이 알림 센터의 오늘 섹션에 위젯을 표시할 수 있습니다.

Xamarin에서 앱 확장을 사용하는 방법에 대한 자세한 내용은 앱 확장 소개 가이드를 참조하세요.

Touch ID

터치 ID는 암호와 유사하게 사용자를 인증하는 수단으로 iOS 7에 도입되었습니다. 그러나 디바이스 잠금 해제, App Store 사용, iTunes 사용 및 iCloud 키 집합만 인증하는 것으로 제한되었습니다.

이제 로컬 인증 API를 사용하여 iOS 8 애플리케이션에서 Touch ID를 인증 메커니즘으로 사용하는 두 가지 방법이 있습니다. 현재 로컬 인증을 사용하여 원격으로 인증할 수 없습니다.

첫째, 새 키 집합 Access Control 목록(ACL)을 사용하여 기존 키 집합 서비스를 지원합니다. 키 집합 데이터는 사용자 지문의 성공적인 인증으로 잠금을 해제할 수 있습니다.

둘째, LocalAuthentication은 애플리케이션을 로컬로 인증하는 두 가지 방법을 제공합니다. 개발자는 디바이스가 터치 ID를 수락할 수 있는지 확인한 다음 EvaluatePolicy 인증 작업을 시작하는 데 사용해야 CanEvaluatePolicy 합니다.

Touch ID에 대한 자세한 내용과 Xamarin.iOS 애플리케이션에 통합하는 방법을 알아보려면 Xamarin.iOS 가이드의 Touch ID 및 Face ID 를 참조하세요.

문서 선택기

문서 선택기는 사용자 iCloud 드라이브와 함께 작동하여 사용자가 다른 앱에서 만든 파일을 열고, 가져오고 조작하고, 다시 내보낼 수 있도록 합니다. 이렇게 하면 사용자에게 직관적인 워크플로가 생성되므로 훨씬 더 나은 환경을 만들 수 있습니다. iCloud 동기화는 한 단계 더 발전합니다. 한 애플리케이션에서 변경된 내용은 모든 장치에서 일관되게 반영됩니다.

문서 선택기에 대해 자세히 알아보고 Xamarin.iOS 애플리케이션에 통합하는 방법을 알아보려면 문서 선택기 소개 가이드를 참조하세요.

Handoff

더 큰 연속성 기능의 일부인 핸드오프는 OS X와 iOS를 통합하는 데 한 걸음 더 나아갑니다. 여기에는 플랫폼 간 AirDrop, iPhone 호출을 수행하는 기능, iPad 및 Mac의 SMS, iPhone 테더링 개선이 포함됩니다.

핸드오프는 iOS 8 및 Yosemite에서 작동하며 사용하려는 모든 다른 디바이스에 iCloud 계정을 로그인해야 합니다. Safari, iWork, 지도, 일정 및 연락처를 포함하여 미리 설치된 대부분의 Apple 앱에서 작동합니다.

자세한 내용은 핸드오프 가이드를 참조하세요.

통합 Storyboards

iOS 8에는 통합 스토리보드인 사용자 인터페이스를 만들기 위한 더 간단한 메커니즘이 포함되어 있습니다. 다양한 하드웨어 화면 크기를 모두 포괄하는 단일 스토리보드를 사용하면 빠르고 응답성이 뛰어난 보기를 진정한 "디자인 한 번, 다 사용" 스타일로 만들 수 있습니다.

iOS8 이전에는 개발자가 세로 모드와 가로 모드를 구분하고 UIInterfaceIdiom iOS 디바이스를 구분하는 데 사용 UIInterfaceOrientation 했습니다. iOS8에서는 더 이상 iPhone 및 iPad 디바이스에 대한 별도의 스토리보드를 만들 필요가 없습니다. 방향과 디바이스는 크기 클래스를 사용하여 결정됩니다.

모든 디바이스는 세로 축과 가로 축 모두에서 Size 클래스에 의해 정의되며 iOS 8에는 두 가지 유형의 크기 클래스가 있습니다.

  • 일반 - 큰 화면 크기(예: iPad) 또는 큰 크기의 인상을 주는 가젯(예: UIScrollView)을 위한 것입니다.
  • 컴팩트 - 더 작은 디바이스(예: iPhone)를 위한 것입니다. 이 크기는 디바이스의 방향을 고려합니다.

두 개념을 함께 사용하는 경우 결과는 다음 다이어그램과 같이 서로 다른 방향에서 모두 사용할 수 있는 다양한 가능한 크기를 정의하는 2 x 2 그리드입니다.

A diagram representing the 2 x 2 grid that defines the different possible sizes that can be used in both the differing orientations

크기 클래스에 대한 자세한 내용은 통합 스토리보드 소개를 참조하세요.

사진 키트

사진 키트는 애플리케이션이 시스템 이미지 라이브러리를 쿼리하고 사용자 지정 사용자 인터페이스를 만들어 콘텐츠를 보고 수정할 수 있는 새로운 프레임워크입니다. 여기에는 이미지 및 비디오 자산을 나타내는 다양한 클래스와 앨범 및 폴더와 같은 자산 컬렉션이 포함됩니다.

자세한 내용은 PhotoKit 가이드를 참조하세요.

게임

장면 키트

장면 키트는 3D 그래픽 작업을 간소화하는 3D 장면 그래프 API입니다. OS X 10.8에서 처음 도입되었으며 이제 iOS 8에 도입되었습니다. 장면 키트를 사용하여 몰입형 3D 시각화 및 캐주얼 3D 게임을 만들 때 OpenGL에 대한 전문 지식이 필요하지 않습니다. 일반적인 장면 그래프 개념을 기반으로 하는 Scene Kit는 OpenGL 및 OpenGL ES의 복잡성을 추상화하여 애플리케이션에 3D 콘텐츠를 매우 쉽게 추가할 수 있도록 합니다. 그러나 OpenGL 전문가인 경우 장면 키트는 OpenGL과 직접 연결하기 위한 훌륭한 지원을 제공합니다. 또한 물리학과 같은 3D 그래픽을 보완하는 다양한 기능이 포함되어 있으며 핵심 애니메이션, 코어 이미지 및 스프라이트 키트와 같은 다른 여러 Apple 프레임워크와 매우 잘 통합됩니다.

자세한 내용은 SceneKit 설명서를 참조하세요.

스프라이트 키트

스프라이트 키트, 애플에서 2D 게임 프레임 워크, iOS에서 몇 가지 흥미로운 새로운 기능 8 그리고 OS X Yosemite. 여기에는 장면 키트와의 통합, 셰이더 지원, 조명, 그림자, 제약 조건, 일반 지도 생성 및 물리학 향상이 포함됩니다. 특히, 새로운 물리학 기능은 매우 쉽게 게임에 사실적인 효과를 추가 할 수 있습니다.

자세한 내용은 SpriteKit 설명서를 참조하세요.

기타 변경 내용

위에서 설명한 iOS 8의 주요 변경 사항뿐만 아니라 Apple은 많은 기존 프레임워크를 추가로 업데이트했습니다. 다음은 아래에 자세히 설명되어 있습니다.

  • 핵심 이미지 – Apple은 직사각형 영역 및 이미지 내의 QR 코드 검색에 대한 더 나은 지원을 추가하여 이미지 처리 프레임워크를 확장했습니다. Mike Bluestein은 iOS 8에서 이미지 검색이라는 제목의 블로그 게시물에서 이를 탐색합니다.

사용되지 않는 API

iOS 8의 모든 개선 사항으로 인해 많은 API가 더 이상 사용되지 않습니다. 이 중 일부는 아래에 자세히 설명되어 있습니다.

  • UIApplication – 원격 알림을 등록하는 데 사용되는 메서드 및 속성은 더 이상 사용되지 않습니다. registerForRemoteNotificationTypes 및 enabledRemoteNotificationTypes입니다.

  • UIViewController – 특성 및 크기 클래스는 인터페이스 방향을 설명하는 데 사용되는 메서드와 속성을 대체했습니다. 이러한 항목을 사용하는 방법에 대한 자세한 내용은 통합 스토리보드 소개 를 참조하세요.

  • UISearchDisplayController – iOS8의 UISearchController로 대체되었습니다.

요약

이 문서에서는 iOS 8에서 Apple이 도입한 새로운 기능 중 일부를 살펴보았습니다.