추가 iOS 10 프레임워크 변경 내용

이 문서에서는 iOS 10용 기존 프레임워크에 대한 추가적인 사소한 변경 또는 향상된 기능을 설명합니다.

AV Foundation Framework 추가

AVFoundation 프레임워크에는 다음과 같은 향상된 기능이 포함되어 있습니다.

  • iOS 10에서 개발자는 더 이상 콘텐츠 형식에 따라 다른 AVPlayerItem 동작을 구현할 필요가 없습니다. 속성을 설정 Rate 하기만 하면 AVFoundation은 중단 없이 재생에 충분한 콘텐츠를 사용할 수 있는 시기를 결정합니다.
  • 새로운 AVCapturePhotoOutput 클래스는 사용되지 않는 AVCaptureStillImageOutput 클래스를 대체하고 캡처 프로세스의 정교한 제어 및 모니터링을 제공하고 Live 사진 및 RAW 캡처 형식과 같은 새로운 기능에 대한 지원을 제공하여 모든 사진 워크플로를 처리하는 통합된 방법을 제공합니다.
  • AVPlayerLooper 클래스를 사용하면 재생 중에 지정된 미디어를 더 쉽게 반복할 수 있습니다.
  • AVAssetDownloadURLSession 클래스를 사용하면 FairPlay 암호화된 HLS 스트림을 다운로드하고 나중에 재생할 수 있습니다.
  • 기본적으로 AVCaptureSession 클래스는 디바이스 하드웨어에서 지원하는 경우 와이드 색상 와이드 영역 캡처를 자동으로 지원합니다. 자세한 내용은 Apple의 iOS 디바이스 호환성 참조를 참조 하세요.

AVKit 추가

이제 AVKit 프레임워크에는 지금 재생 정보 센터를 업데이트해야 하는 시기를 나타내는 새 UpdatesNowPlayingInfoCenter 속성이 포함됩니다.

핵심 데이터 향상

iOS 10에는 Core Data 프레임워크에 대한 다음과 같은 향상된 기능이 포함되어 있습니다.

  • WAL 저널 모드에서 SQLite 데이터 저장소가 있는 NSManagedObjectContext 개체는 MOC(Managed Object Contexts)를 특정 데이터베이스 버전에 고정하여 나중에 트랜잭션을 페치하고 오류를 발생시킬 수 있는 새로운 쿼리 생성 기능을 지원합니다.
  • 루트 NSManagedObjectContext 개체는 serialization 없이 동시 오류 및 페치를 지원합니다.
  • NSPersistentStoreCoordinator 클래스는 SQLite 데이터 저장소 풀에 기본.
  • 페치를 NSManagedObject 수행하고 서브클래스를 쉽게 만들 수 있도록 몇 가지 새로운 편의 메서드가 추가되었습니다.
  • 상위 수준을 NSPersistenceContainer 사용하여 NSManagedObjectModel 및 기타 핵심 데이터 구성 리소스를 참조NSPersistentStoreCoordinator합니다.

자세한 내용은 Apple의 핵심 데이터 프레임워크 참조를 참조하세요.

핵심 이미지 향상

iOS 10은 Core Image 프레임워크를 다음과 같이 향상시킵니다.

  • 이제 개발자는 처리 전후에 색 공간 내부 및 외부로 변환하여 Core Image 컨텍스트의 작업 색 공간 외부에 있는 색 공간에서 이미지를 처리할 수 있습니다.
  • A8 또는 A9 CPU를 사용하는 iOS 디바이스의 경우 이제 RAW 이미지 형식이 지원됩니다. 코어 이미지는 이제 기본 제공 iSight 카메라 또는 타사 카메라에서 RAW 이미지를 디코딩하는 기능을 제공합니다. FilterWithImageData CIFilter 클래스의 메서드 또는 FilterWithImageURL 메서드를 사용하여 RAW 이미지를 처리합니다.
  • 개체의 렌더링(Core Image 이미지 저장소에서 지원되는 경우)UIImageView에는 몇 가지 렌더링 성능이 향상되었습니다UIImage.
  • UIImage 와이드 영역 태그가 지정된 개체는 넓은 색을 지원하는 iOS 디바이스의 개체에서 UIImageView 와이드 영역 색으로 렌더링됩니다.
  • 코어 이미지 커널 코드는 이제 특정 픽셀 출력 형식을 요청할 수 있습니다.
  • ImageWithExtent CIFilter 클래스의 메서드를 사용하여 필터 작업에 사용자 지정 처리를 삽입할 수 있습니다. 코어 이미지는 출력 또는 디스플레이에 대한 이미지를 처리할 때 필터 간에 지정된 콜백을 호출합니다.

또한 다음과 같은 새로운 핵심 이미지 필터가 추가되었습니다.

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

코어 모션 추가

iOS 10을 새롭게 접하는 Core Motion 프레임워크에는 앱이 실행하는 동안 추적을 일시 중지하고 다시 시작하는 사용자에 대한 빠르고 실시간 알림을 받을 수 있는 보수계 이벤트가 포함되어 있습니다. CMPedometer사용하여 전경 또는 배경 보수계 이벤트에 등록합니다.

파운데이션 향상

iOS 10용 Foundation 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • NSMeasurementFormatter 클래스를 사용하여 최종 사용자에게 표시할 지역화된 측정값의 서식을 지정합니다.

  • NSDateInterval 클래스를 사용하여 간격을 비교하고 간격 교차에 대한 테스트를 위해 기간과 같은 날짜 및 시간 간격 계산을 수행합니다.

  • NSMeasurement 클래스를 사용하여 다른 UOM(단위)을 변환하거나 다른 UOM의 값에 대한 계산을 수행합니다.

  • NSUnitNSDimension 클래스를 사용하여 특정 UOM을 나타냅니다.

  • 로컬 정보와 사용 가능한 표시 형식을 얻기 위해 NSLocal 클래스에 몇 가지 새로운 속성이 추가되었습니다.

GameKit 향상된 기능

iOS 10의 GameKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • Game Center 앱이 더 이상 사용되지 않으며 iOS에서 제거되었습니다. 앱이 GameKit을 사용하는 경우 순위표 등과 같은 GameKit 기능을 표시하기 위해 자체 인터페이스를 제공해야 합니다 .
  • GKCloudPlayer 클래스에서 새 iCloud 전용 계정 유형을 구현했습니다.
  • 새로운 GKGameSession 클래스는 Game Center에서 영구 데이터 스토리지를 관리하기 위한 일반화된 솔루션을 제공합니다. GKGameSession기본 플레이어 목록을 확인하고 앱은 참가자 날짜가 플레이어 간에 저장, 검색 또는 교환되는 방법과 시기를 구현하는 역할을 담당합니다. 대부분의 경우 게임 세션은 기존 턴 기반 일치, 실시간 일치 또는 영구 게임 저장 방법을 대체할 수 있습니다.

GameplayKit 향상된 기능

iOS 10의 GameplayKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • GKMeshGraph 클래스를 사용하여 자연스러운 고성능 경로를 제공합니다.
  • 절차적 노이즈 생성이 추가되었으며 자연스러운 질감의 리얼리즘을 향상시키고 카메라 움직임에 리얼리즘을 추가하고 풍부한 게임 세계를 생성하는 데 사용할 수 있습니다.
  • 공간 분할을 사용하여 효율적인 검색을 위해 게임 세계 데이터를 분할합니다.
  • 철저한 이동 계산을 위해 새로운 몬테카를로 전략가(GKMonteCarloStrategist)가 추가되었습니다.
  • GKAgent3D 및 GKGraphNode3D 클래스를 사용하여 기존 에이전트 및 경로 찾기 동작에 3D 지원이 추가되었습니다.
  • 새로운 GKSceneGKSKNodeComponent 클래스를 사용하면 GameplayKit과 SpriteKit를 그 어느 때보다 쉽게 결합할 수 있습니다.
  • 게임 빌드 AI를 향상시키기 위해 새로운 의사 결정 트리 API(GKDecisionTreeGKDecisionNode)가 추가되었습니다.

HealthKit 향상된 기능

iOS 10의 HealthKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • 날씨 유형(예: 및) 및 HKWeatherConditionCloudy운동 유형(예 HKWorkoutActivityTypeFlexibilityHKWorkoutActivityTypeWheelchairRunPace: HKWeatherConditionClear 및)에 대한 새로운 메타데이터 키가 추가되었습니다.
  • CDA(임상 문서 아키텍처) 서식이 지정된 문서를 나타내기 위해 새 HKCDADocument 클래스가 추가되었습니다.
  • HKWorkoutConfiguration 클래스를 사용하여 운동과 LocationType 운동을 지정 ActivityType 합니다.
  • 휠체어 관련 건강 데이터 작업을 위해 새로운 HKWheelchairUseObjectWheelchairUse HKHealthStore 클래스의 방법이 추가되었습니다.

HomeKit 향상된 기능

iOS 10의 HomeKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • 새로운 서비스와 특성이 추가되었습니다.
  • 원격 접근자 액세스를 제공하고 자동화 트리거를 실행하며 공유 사용자 권한을 사용하도록 HomeKit Hub 역할을 하도록 iPad를 구성할 수 있습니다.
  • 카메라 및 초인종 액세서리에 대한 지원이 추가되었습니다.
  • 액세서리에 대한 더 많은 컨텍스트 및 구성이 제공되었습니다.

자세한 내용은 HomeKit 소개 설명서를 참조하세요.

금속 기능 향상

iOS 10의 Metal 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • 이제 3D 앱과 게임은 테셀레이션을 사용하여 GPU를 통해 복잡한 장면과 기하 도형을 효율적으로 렌더링할 수 있습니다.
  • 리소스 힙 및 메모리 없는 렌더링 대상을 사용하여 Metal 기반 앱의 성능을 최적화하기 위해 리소스 할당에 대한 세분화된 제어를 제공합니다.
  • 함수 특수화를 사용하여 장면에 대해 매우 최적화된 재질 및 조명 조합 함수 컬렉션을 만듭니다.

자세한 내용은 Apple의 금속 프로그래밍 가이드를 참조하세요.

ModelIO 향상된 기능

iOS 10의 ModelIO 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • 이제 USD 파일 형식이 지원됩니다.
  • 서명된 거리 필드 지원이 MDLVoxelArray 클래스에 추가되었습니다.
  • MDLLightProbeIrradianceDataSource 클래스를 사용하여 광원 프로브 배치를 지원합니다.
  • MDLMaterialPropertyGraph 클래스를 사용하여 모델에 대한 런타임 변경 내용을 쉽게 지원할 수 있습니다.

향상된 사진

iOS 10의 사진 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • CIImageProcessorInputCIImageProcessorOutput 클래스를 사용하여 새로운 Core Image 프로세서 기능을 활용하여 편집을 수행합니다.
  • 이제 사진 프레임워크를 지원하는 앱과 사진 편집 확장 프로그램(사진 및 카메라 앱 내에서 사용)에 라이브 사진 편집을 사용할 수 있습니다.
  • PHLivePhotoEditingContext 클래스를 사용하여 Live 사진 비디오 및 스틸 콘텐츠 모두에 편집 내용을 적용합니다.

ReplayKit 향상된 기능

iOS 10의 ReplayKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • RPScreenRecorder, RPBroadcastActivityViewControllerRPBroadcastController 클래스를 사용하여 타사 사이트를 통해 녹화된 미디어의 브로드캐스트를 지원합니다.
  • 앱에서 ReplayKit 타사 브로드캐스트 서비스를 지원하려면 브로드캐스트 UI 및 브로드캐스트 업로드 확장이 필요합니다.

SceneKit 향상된 기능

iOS 10의 SceneKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • SCN카메라 클래스는 HDR 기능 및 효과를 사용하여 더 큰 리얼리즘을 제공할 수 있습니다. 적응형 노출을 사용하여 자동 효과를 만들거나 비네팅, 색 프린지 및 색 채점 기능을 사용하여 게임에 채우기 효과를 추가합니다.
  • 이제 SceneKit에는 더 간단한 자산 작성을 통해 보다 현실적인 결과를 위한 새로운 PBR(물리적 기반 렌더링) 시스템이 포함되어 있습니다.
  • 새로운 SCNLightingModelPhysicallyBased 음영 모델을 사용하여 세 가지 기본 속성(DiffuseMetalnessRoughness)만 요구하면서 광범위한 사실적인 음영 효과를 제공합니다.
  • PBR 음영은 환경 기반 조명에서 가장 잘 작동하므로 이 속성을 사용하여 LightingEnvironment 이미지 기반 조명을 전체 장면에 할당합니다.
  • IESProfileURL 이 속성을 사용하여 강도(루멘) 및 색 온도(켈빈도)와 같은 실제 값을 기반으로 조명을 정의하는 실제 조명 기구를 가져옵니다.
  • PBR 및 HDR 카메라 기능 모두 기존 렌더링 기술보다 더 나은 결과를 제공하므로 이제 SceneKit은 선형 색 공간에서 모든 색 계산을 수행합니다(와이드 컬러 디바이스 디스플레이에서 P3 색 영역 사용).
  • 이제 SceneKit 색은 색 프로필 정보를 읽어 모든 색과 일치합니다.
  • SceneKit은 모든 셰이더 형식에 대한 선형 RGB 색 공간의 색 구성 요소 값을 해석합니다.
  • 선형 색 공간 렌더링과 와이드 컬러는 모두 앱의 Info.plist키와 SCNDisableWideGamut 키를 지정하여 SCNDisableLinearSpaceRendering 사용하지 않도록 설정할 수 있습니다.
  • 임의의 다각형 영장류(파일에서 로드되거나 프로그래밍 방식으로 생성됨)를 빌드하여 새 SCNGeometryPrimitiveTypePolygon 클래스를 사용하여 기하 도형을 지정합니다.
  • SceneKit은 텍스처 이미지의 색 프로필 정보를 읽고 조정하므로 모든 이미지에 자산 카탈로그를 사용하여 이 정보가 제공되도록 합니다.

SpriteKit 향상된 기능

iOS 10의 SpriteKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • 사용자 지정 셰이더는 특성 값(SKAttribute)을 제공하여 셰이더를 사용하는 각 노드에서 개별적으로 구성할 수 있는 특성(SKAttributeValue)을 제공할 수 있습니다.
  • 이제 Tilemaps는 2D, 2.5D 및 사이드 스크롤 게임에 SKTileMapModeSKTileGroupSKTileGroupRuleSKTileSet 대해 사각형, 육각형 및 등각 타일 셰이프를 지원합니다.
  • SKWarpGeometry 클래스를 사용하여 SKSpriteNode 또는 SKEffectNode 렌더링을 확장하거나 왜곡합니다. 새 SKAction 클래스를 사용하여 워프 효과 간의 전환에 애니메이션 효과를 줄 수 있습니다.
  • SKView 클래스는 장면이 렌더링되는 시기와 방법을 세밀하게 제어할 수 있는 몇 가지 새로운 메서드를 제공합니다.

ScrollView 향상된 기능

iOS 10.3의 ScrollView 컨트롤에 다음과 같은 향상된 기능이 적용되었습니다.

  • UIScrollView이제 사용자가 다음과 같이 UIScrollViewIndexDisplayMode 스크롤하는 동안 인덱스가 표시되는 방식을 제어하는 속성을 포함합니다IndexDisplayMode.
    • Automatic - 인덱스 표시는 OS에 의해 제어됩니다.
    • AlwaysHidden - 인덱스 표시가 항상 숨겨집니다.

사용량은 iOSTenThree 샘플을 참조하세요.

UIKit 향상된 기능

iOS 10의 UIKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • UIPasteboard API는 새로운 옵션(예: 수명 제한)을 제공하고 공통 클래스 형식에 대해 호환되는 콘텐츠 형식을 자동으로 선언합니다.
  • 완전히 대화형 개체 기반의 중단 가능한 애니메이션 지원이 새로 추가되었으며 제스처에 연결할 수 있습니다. 자세한 내용은 Apple의 UIViewAnimating 프로토콜 참조, UIViewPropertyAnimator 클래스 참조, UITimingCurveProvider 프로토콜 참조, UICubicTimingParameters 클래스 참조UISpringTimingParameter 클래스 참조를 참조 하세요.
  • UIPreviewInteraction 기능과 UIPreviewInteractionDelegate 개발자 앱이 피킹 및 팝 작업을 위한 사용자 지정 인터페이스를 제공할 수 있도록 합니다.
  • UIAccessibilityCustomRotor 클래스를 사용하면 앱이 Voice Over와 같은 보조 기술에 사용자 지정 컨텍스트별 기능을 제공할 수 있습니다.
  • UIAccessibilityIsAssistiveTouchRunningUIAccessibilityAssistiveTouchStatusDidChangeNotification 및 기호를 사용하여 AssistiveTouch를 사용할 수 있는지 확인합니다.
  • UIAccessibilityHearingDevicePairedEar 기호와 UIAccessibilityHearingDevicePairedEarDidChangeNotification 기호를 사용하여 페어링된 MFi 보청기의 상태 가져옵니다.
  • 레이블에서 동적 형식을 지원하기 위해 텍스트 필드와 텍스트 상자는 클래스의 새 PreferredFontForTextStyle 메서드를 UIFont 사용합니다.
  • 디바이스 UIContentSizeCategory 가 변경되면 요소가 글꼴을 업데이트해야 하는지 여부를 결정하려면 대리자의 UIContentSizeCategoryAdjusting 속성을 사용합니다AdjustsFontForContentSizeCategory.
  • OpenURL 클래스의 UIApplication 메서드는 비동기적으로 호출되고 이제 열기 작업이 완료된 후 호출되는 완료 처리기를 지원합니다.
  • CloudKit 공유를 시작하고 새 UICloudSharingController 클래스와 UICloudSharingControllerDelegate 클래스를 사용하여 해당 속성을 수정합니다.
  • 프리페치된 셀을 활용하여 새 UICollectionViewDataSourcePrefetching 대리자의 스크롤 환경을 UICollectionViews 개선합니다.
  • 이제 개발자는 탭 표시줄 항목(예: 텍스트 및 배경색)의 배지 모양을 제어할 수 있습니다.
  • 새로 고침 컨트롤은 이제 모든 스크롤 보기 및 스크롤 보기 하위 클래스(예: UICollectionView)에서 지원됩니다.

WebKit 향상된 기능

iOS 10의 WebKit 프레임워크에 다음과 같은 향상된 기능이 적용되었습니다.

  • 피킹 및 팝 지원이 클래스에 WKWebView 추가되었습니다. 이 메서드를 ShouldPreviewElement 사용하여 지정된 웹 보기에 미리 보기가 표시되어야 하는지 여부를 확인합니다.