추가 macOS Sierra 프레임워크 변경 내용
프레임워크 향상 가속화
macOS Sierra용 가속 프레임워크는 다음과 같이 향상되었습니다.
- 사분면(정수 미적분)이 추가되었습니다.
- 신경망을 생성하기 위한 기본 함수가 추가되었습니다.
- 두 기하학적 개체의 교집합과 같은 항목을 테스트하는 기하학적 조건자 함수가 추가되었습니다.
AppKit 프레임워크 개선 사항
macOS Sierra용 AppKit Framework는 다음과 같이 향상되었습니다.
- 다음과 같은 몇 가지 향상된 기능
NSCollectionView
:- 축소 가능한 섹션 - 사용자가 컬렉션 뷰 섹션을 단일 가로 행으로 축소할 수 있습니다.
- 부동 헤더 - 이제 iOS의 UICollectionView와 동일한 API를 사용하여 흐름 레이아웃에서 머리글 및 바닥글을 부동으로 지정할 수 있습니다.
- 스크롤 가능한 배경 보기 - 이제 컬렉션 뷰 배경을 콘텐츠와 함께 스크롤하도록 설정할 수 있습니다.
- 지연된 보기 레이아웃 패스가 최적화되고 확장되었습니다.
- 이제 끌어서 놓기 API에는 끌어서 놓기를 지원하는 새
NSFilePromiseProvider
클래스와NSFilePromiseReceiver
클래스가 포함됩니다. - 여러 편의 생성자가 기존 컨트롤에 추가되었습니다.
NSButton
에는 푸시 단추, 검사box 및 라디오 단추를 만들기 위한 새 생성자가 포함되어 있습니다.NSTextField
에는 래핑 및 래핑되지 않는 레이블, 특성이 지정된 레이블 및 편집 가능한 텍스트 필드를 만들기 위한 새 생성자가 포함되어 있습니다.NSSegmentedControl
에는 레이블 또는 이미지 그룹에서 분할된 컨트롤을 만들기 위한 새 생성자가 포함되어 있습니다.NSSlider
에는 가로 선형 슬라이더를 만들기 위한 새 생성자가 포함되어 있습니다.NSImageView
에는 지정된NSImage
이미지 뷰에서 편집할 수 없는 이미지 뷰를 만들기 위한 새 생성자가 포함되어 있습니다.
- 하위 뷰 컬렉션을 동적으로 숨기거나 표시할 수 있는 변수 크기의 행과 열이 있는 그리드로 자동 레이아웃하는 데 새
NSGridView
항목이 추가되었습니다.
AVFoundation Framework 향상된 기능
macOS Sierra용 AVFoundation Framework는 다음과 같이 향상되었습니다.
- macOS에서 앱은 더 이상 콘텐츠 형식에 따라 다른 AVPlayerItem 동작을 구현할 필요가 없습니다. 속성을 설정
Rate
하기만 하면 AVFoundation은 중단 없이 재생에 충분한 콘텐츠를 사용할 수 있는 시기를 결정합니다. - 새
AVPlayerLooper
클래스를 사용하면 재생 중에 지정된 미디어를 더 쉽게 반복할 수 있습니다. - 이
AVAssetDownloadURLSession
클래스를 사용하면 FairPlay 암호화된 HLS 스트림을 다운로드하고 나중에 재생할 수 있습니다.
핵심 데이터 프레임워크 개선 사항
macOS Sierra용 Core Data Framework는 다음과 같이 향상되었습니다.
- 루트 NSManagedObjectContext 개체는 serialization 없이 동시 오류 및 페치를 지원합니다.
- NSPersistentStoreCoordinator 클래스는 SQLite 데이터 저장소 풀에 기본.
- WAL 저널 모드에서 SQLite 데이터 저장소가 있는 NSManagedObjectContext 개체는 MOC(Managed Object Contexts)를 특정 데이터베이스 버전에 고정하여 나중에 트랜잭션을 페치하고 오류를 발생시킬 수 있는 새로운 쿼리 생성 기능을 지원합니다.
- 상위 수준을
NSPersistenceContainer
사용하여 NSManagedObjectModel 및 기타 핵심 데이터 구성 리소스를 참조NSPersistentStoreCoordinator
합니다. - 페치를
NSManagedObject
수행하고 서브클래스를 쉽게 만들 수 있도록 몇 가지 새로운 편의 메서드가 추가되었습니다.
자세한 내용은 Apple의 핵심 데이터 프레임워크 참조를 참조하세요.
핵심 Image Framework 향상된 기능
macOS Sierra용 Core Image Framework는 다음과 같이 향상되었습니다.
ImageWithExtent
CIFilter 클래스의 메서드를 사용하여 필터 작업에 사용자 지정 처리를 삽입할 수 있습니다. 코어 이미지는 출력 또는 디스플레이에 대한 이미지를 처리할 때 필터 간에 지정된 콜백을 호출합니다.- 이제 앱은 처리 전후에 색 공간 내부 및 외부로 변환하여 Core Image 컨텍스트의 작업 색 공간 외부에 있는 색 공간에서 이미지를 처리할 수 있습니다.
- 코어 이미지 커널은 이제 특정 픽셀 출력 형식을 요청할 수 있습니다.
- 다음과 같은 새 이미지 필터가 추가
CINinePartTitled
CIEdgePreserveUpsampleFilter
CINinePartStretched
CIHueSaturationValueGradient
CIClamp
되었습니다.
Foundation Framework 향상된 기능
macOS Sierra용 Foundation Framework는 다음과 같이 향상되었습니다.
- NSDi멘션s API를 사용하여 질량, 길이, 속도, 지속 시간 및 온도와 같은 가장 일반적인 물리적 단위를 표시, 변환 및 표시합니다.
- NSISO8601DateFormatter 클래스를 사용하여 ISO 8601 형식의 날짜를 구문 분석하고 생성합니다.
- 새 NSDateInterval 클래스를 사용하여 간격을 비교하고 간격 교차에 대한 테스트를 위해 기간과 같은 날짜 및 시간 간격 계산을 수행합니다.
- NSPersonNameComponentsFormatter 클래스를 사용하여 문자열에서 사람의 이름 요소를 구문 분석합니다.
- 새 NSURLSessionTaskMetrics 클래스를 사용하여 URL 네트워킹 세션에 대한 메트릭을 가져옵니다.
자세한 내용은 OS X v10.12 및 iOS 10에 대한 Apple의 Foundation 릴리스 정보를 참조하세요.
GameKit 프레임워크 개선 사항
macOS Sierra용 GameKit 프레임워크는 다음과 같이 향상되었습니다.
- Game Center 앱은 더 이상 사용되지 않으며 macOS에서 제거되었습니다. 앱이 GameKit을 사용하는 경우 순위표 등과 같은 GameKit 기능을 표시하기 위해 자체 인터페이스를 제공해야 합니다 .
- GKCloudPlayer 클래스에서 새 iCloud 전용 계정 유형을 구현했습니다.
- 새로운 GKGameSession 클래스는 Game Center에서 영구 데이터 스토리지를 관리하기 위한 일반화된 솔루션을 제공합니다.
GKGameSession
기본 플레이어 목록을 확인하고 앱은 참가자 날짜가 플레이어 간에 저장, 검색 또는 교환되는 방법과 시기를 구현하는 책임 있는 형식입니다. 대부분의 경우 게임 세션은 기존 턴 기반 일치, 실시간 일치 또는 영구 게임 저장 방법을 대체할 수 있습니다.
GamePlayKit 프레임워크 개선 사항
macOS Sierra용 GamePlayKit 프레임워크는 다음과 같이 향상되었습니다.
- 절차적 노이즈 생성이 추가되었으며 자연스러운 질감의 리얼리즘을 향상시키고 카메라 움직임에 리얼리즘을 추가하고 풍부한 게임 세계를 생성하는 데 사용할 수 있습니다.
- 공간 분할을 사용하여 효율적인 검색을 위해 게임 세계 데이터를 분할합니다.
- 철저한 이동 계산을 위해 새로운 몬테카를로 전략가(GKMonteCarloStrategist)가 추가되었습니다.
- 게임 빌드 AI를 향상시키기 위해 새로운 의사 결정 트리 API(GKDecisionTree 및 GKDecisionNode)가 추가되었습니다.
- 새 GKAgent3D 및 GKGraphNode3D 클래스를 사용하여 기존 에이전트 및 경로 찾기 동작에 3D 지원이 추가되었습니다.
- 새 GKMeshGraph 클래스를 사용하여 자연스러운 고성능 경로를 제공합니다.
- 새로운 GKScene 및 GKSKNodeComponent 클래스를 사용하면 GameplayKit과 SpriteKit를 그 어느 때보다 쉽게 결합할 수 있습니다.
Metal Framework 향상된 기능
macOS Sierra용 Metal Framework는 다음과 같이 향상되었습니다.
- 이제 3D 앱과 게임은 테셀레이션을 사용하여 GPU를 통해 복잡한 장면과 기하 도형을 효율적으로 렌더링할 수 있습니다.
- 함수 특수화를 사용하여 장면에 대해 매우 최적화된 재질 및 조명 조합 함수 컬렉션을 만듭니다.
- 리소스 힙 및 메모리 없는 렌더링 대상을 사용하여 Metal 기반 앱의 성능을 최적화하기 위해 리소스 할당에 대한 세분화된 제어를 제공합니다.
자세한 내용은 Apple의 금속 프로그래밍 가이드를 참조하세요.
모델 I/O 프레임워크 향상
macOS Sierra용 모델 I/O 프레임워크는 다음과 같이 향상되었습니다.
- 이제 USD 파일 형식이 지원됩니다.
- 새
MDLMaterialPropertyGraph
클래스를 사용하여 모델에 대한 런타임 변경 내용을 쉽게 지원할 수 있습니다. - 서명된 거리 필드 지원이 MDLVoxelArray 클래스에 추가되었습니다.
- 새
MDLLightProbeIrradianceDataSource
클래스를 사용하여 광원 프로브 배치를 지원합니다.
사진 프레임워크 향상
macOS Sierra용 사진 프레임워크는 다음과 같이 향상되었습니다.
- 이제 사진 프레임워크를 지원하는 앱과 사진 편집 확장 프로그램(사진 및 카메라 앱 내에서 사용)에 라이브 사진 편집을 사용할 수 있습니다.
- 새 PHLivePhotoEditingContext 클래스를 사용하여 Live 사진 비디오 및 스틸 콘텐츠 모두에 편집 내용을 적용합니다.
- CIImageProcessorInput 및 CIImageProcessorOutput 클래스를 사용하여 새로운 Core Image 프로세서 기능을 활용하여 편집을 수행합니다.
- Live 사진 지원하기 위해 PHLivePhoto 및 PHLivePhotoView 클래스가 iOS에서 macOS로 이식되었습니다.
SceneKit 프레임워크 개선 사항
macOS Sierra용 SceneKit 프레임워크는 다음과 같이 향상되었습니다.
- 이제 더 간단한 자산 작성을 통해 보다 현실적인 결과를 위해 새로운 PBR(물리적 기반 렌더링) 시스템을 포함합니다.
- 새로운 SCNLightingModelPhysicallyBased 음영 모델을 사용하여 세 가지 기본 속성(
Diffuse
Metalness
및Roughness
)만 요구하면서 광범위한 사실적인 음영 효과를 제공합니다. - PBR 음영은 환경 기반 조명에서 가장 잘 작동하므로 이 속성을 사용하여
LightingEnvironment
이미지 기반 조명을 황갈색 전체 장면에 할당합니다. IESProfileURL
이 속성을 사용하여 강도(루멘) 및 색 온도(켈빈도)와 같은 실제 값에 대한 조명 기반을 정의하는 실제 조명 기구를 가져옵니다.- SCN카메라 클래스는 HDR 기능 및 효과를 사용하여 더 큰 리얼리즘을 제공할 수 있습니다. 적응형 노출을 사용하여 자동 효과를 만들거나 비네팅, 컬러 프링 및 색 채점 기능을 사용하여 게임에 필름 효과를 추가합니다.
- PBR 및 HDR 카메라 기능 모두 기존 렌더링 기술보다 더 나은 결과를 제공하므로 이제 SceneKit은 선형 색 공간에서 모든 색 계산을 수행합니다(와이드 컬러 디바이스 디스플레이에서 P3 색 영역 사용).
- 이제 SceneKit 색은 색 프로필 정보를 읽어 모든 색과 일치합니다.
- SceneKit은 모든 셰이더 형식에 대한 선형 RGB 색 공간의 색 구성 요소 값을 해석합니다.
- SceneKit은 텍스처 이미지의 색 프로필 정보를 읽고 조정하므로 모든 이미지에 자산 카탈로그를 사용하여 이 정보가 제공되도록 합니다.
- 선형 색 공간 렌더링과 와이드 컬러는 모두 앱의
Info.plist
키와SCNDisableWideGamut
키를 지정하여SCNDisableLinearSpaceRendering
사용하지 않도록 설정할 수 있습니다. - 임의의 다각형 영장류(파일에서 로드되거나 프로그래밍 방식으로 생성됨)를 빌드하여 새 SCNGeometryPrimitiveTypePolygon 클래스를 사용하여 기하 도형을 지정합니다.
보안 프레임워크 개선 사항
macOS Sierra용 Security Framework는 다음과 같이 향상되었습니다.
- 인터페이스는
SecKey
모든 플랫폼(iOS, tvOS, watchOS 및 macOS)에서 현대화되고 통합되었습니다.
SpriteKit 프레임워크 개선 사항
macOS Sierra용 SpriteKit 프레임워크는 다음과 같이 향상되었습니다.
- 이제 Tilemaps는 2D, 2.5D 및 사이드 스크롤 게임에
SKTileMapMode
SKTileGroup
SKTileGroupRule
SKTileSet
대해 사각형, 육각형 및 등각 타일 셰이프를 지원합니다. - 새
SKWarpGeometry
클래스를 사용하여 SKSpriteNode 또는 SKEffectNode 렌더링을 확장하거나 왜곡합니다. 새 SKAction 클래스를 사용하여 워프 효과 간의 전환에 애니메이션 효과를 줄 수 있습니다. - 사용자 지정 셰이더는 특성 값(
SKAttribute
)을 제공하여 셰이더를 사용하는 각 노드에서 개별적으로 구성할 수 있는 특성(SKAttributeValue
)을 제공할 수 있습니다. - SKView 클래스는 장면이 렌더링되는 시기와 방법을 세밀하게 제어할 수 있는 몇 가지 새로운 메서드를 제공합니다.
새 프레임워크
macOS Sierra에 다음 프레임워크가 추가되었습니다.
- 의도 프레임워크 - 이 프레임워크를 사용하면 앱이 상호 작용(예: 위치 또는 사용자 작업)을 검사하고 해당 정보에 따라 작업을 수행할 수 있습니다.
- SafariServices 프레임워크 - 이 프레임워크를 통해 앱은 macOS 및 iOS 모두에 대한 Safari용 앱 확장(예: 콘텐츠 차단기)을 개발할 수 있습니다.