Perubahan Kerangka Kerja Sierra macOS tambahan
Mempercepat Penyempurnaan Kerangka Kerja
Penyempurnaan berikut telah dilakukan pada Accelerate Framework untuk macOS Sierra:
- Menambahkan Quadrature (kalkulus integral).
- Menambahkan fungsi Dasar untuk membangun jaringan neural.
- Menambahkan fungsi predikat Geometris untuk menguji hal-hal seperti persimpangan dua objek geometris.
Penyempurnaan Kerangka Kerja AppKit
Penyempurnaan berikut telah dilakukan pada AppKit Framework untuk macOS Sierra:
- Beberapa penyempurnaan seperti
NSCollectionView
:- Bagian yang Dapat Diciutkan - Memungkinkan pengguna untuk menciutkan bagian Tampilan Koleksi ke dalam satu baris horizontal.
- Header Mengambang - Header dan Footer sekarang dapat diambang (dalam tata letak alur) menggunakan API yang sama dengan UICollectionView di iOS.
- Tampilan Latar Belakang yang Dapat Digulir - Latar belakang Tampilan koleksi sekarang dapat diatur untuk menggulir bersama dengan konten.
- Kode tata letak tampilan yang ditangguhkan telah dioptimalkan dan diperluas.
- API seret dan letakkan sekarang menyertakan kelas dan
NSFilePromiseReceiver
baruNSFilePromiseProvider
untuk mendukung flocking seret. - Beberapa konstruktor kenyamanan telah ditambahkan ke kontrol yang ada:
NSButton
termasuk konstruktor baru untuk membuat tombol tekan, kotak centang, dan tombol radio.NSTextField
termasuk konstruktor baru untuk membuat label pembungkusan dan non-pembungkusan, label atribut, dan bidang teks yang dapat diedit.NSSegmentedControl
mencakup konstruktor baru untuk membuat kontrol tersegmentasi dari sekelompok label atau gambar.NSSlider
menyertakan konstruktor baru untuk membuat slider linier horizontal.NSImageView
termasuk konstruktor baru untuk membuat tampilan gambar yangNSImage
tidak dapat diedit dari .
- Yang baru
NSGridView
telah ditambahkan ke tata letak otomatis kumpulan sub tampilan ke dalam kisi dengan baris dan kolom berukuran variabel yang dapat disembunyikan atau ditampilkan secara dinamis.
Penyempurnaan Kerangka Kerja AVFoundation
Peningkatan berikut telah dilakukan pada AVFoundation Framework untuk macOS Sierra:
- Di macOS, aplikasi tidak lagi harus menerapkan perilaku AVPlayerItem yang berbeda berdasarkan jenis konten. Cukup atur
Rate
properti dan AVFoundation akan menentukan kapan konten yang cukup tersedia untuk pemutaran tanpa mengulur waktu. - Kelas baru
AVPlayerLooper
mempermudah perulangan media tertentu selama pemutaran. - Kelas ini
AVAssetDownloadURLSession
memungkinkan pengunduhan dan pemutaran streaming HLS terenkripsi FairPlay.
Penyempurnaan Kerangka Kerja Data Inti
Penyempurnaan berikut telah dilakukan pada Core Data Framework untuk macOS Sierra:
- Objek Root NSManagedObjectContext mendukung kesalahan dan pengambilan bersamaan tanpa serialisasi.
- Kelas NSPersistentStoreCoordinator mempertahankan kumpulan penyimpanan data SQLite.
- Objek NSManagedObjectContext dengan penyimpanan data SQLite dalam Mode Jurnal WAL mendukung fitur pembuatan kueri baru di mana Managed Object Contexts (MOC) dapat disematkan ke versi database tertentu untuk pengambilan dan kesalahan transaksi di masa mendatang.
- Menggunakan tingkat
NSPersistenceContainer
tinggi untuk mereferensikanNSPersistentStoreCoordinator
, NSManagedObjectModel dan sumber daya konfigurasi Data Inti lainnya. - Beberapa metode kenyamanan baru telah ditambahkan untuk
NSManagedObject
membuatnya lebih mudah untuk melakukan pengambilan dan membuat subkelas.
Untuk informasi selengkapnya, silakan lihat Referensi Kerangka Kerja Data Inti Apple.
Penyempurnaan Kerangka Kerja Gambar Inti
Penyempurnaan berikut telah dilakukan pada Core Image Framework untuk macOS Sierra:
- Metode
ImageWithExtent
kelas CIFilter dapat digunakan untuk menyisipkan pemrosesan kustom ke dalam operasi filter. Core Image akan memanggil panggilan balik yang diberikan antara filter saat memproses gambar untuk output atau tampilan. - Aplikasi sekarang dapat memproses gambar dalam ruang warna di luar ruang warna kerja konteks Core Image dengan mengonversi masuk dan keluar dari ruang warna sebelum dan sesudah pemrosesan.
- Kernel Core Image sekarang dapat meminta format output piksel tertentu.
- Filter gambar baru berikut telah ditambahkan:
CINinePartTitled
, ,CINinePartStretched
,CIHueSaturationValueGradient
CIEdgePreserveUpsampleFilter
danCIClamp
.
Penyempurnaan Foundation Framework
Penyempurnaan berikut telah dilakukan pada Foundation Framework untuk macOS Sierra:
- Gunakan NSDimentions API untuk mewakili, mengonversi, dan menampilkan banyak unit fisik yang paling umum seperti massa, panjang, kecepatan, durasi, dan suhu.
- Gunakan kelas NSISO8601DateFormatter untuk mengurai dan menghasilkan tanggal berformat ISO 8601.
- Gunakan kelas NSDateInterval baru untuk membuat perhitungan interval tanggal dan waktu seperti durasi, untuk membandingkan interval dan pengujian untuk interseksi interval.
- Gunakan kelas NSPersonNameComponentsFormatter untuk mengurai elemen nama seseorang dari string.
- Gunakan kelas NSURLSessionTaskMetrics baru untuk mendapatkan metrik untuk sesi jaringan URL.
Untuk informasi selengkapnya, silakan lihat Catatan Rilis Yayasan Apple untuk OS X v10.12 dan iOS 10.
Penyempurnaan Kerangka Kerja GameKit
Penyempurnaan berikut telah dilakukan pada GameKit Framework untuk macOS Sierra:
- Aplikasi Game Center telah ditolak dan dihapus dari macOS. Jika aplikasi menggunakan GameKit, aplikasi harus menyajikan antarmukanya sendiri untuk menampilkan fitur GameKit seperti papan peringkat, dll.
- Jenis akun khusus iCloud baru telah diimplementasikan oleh kelas GKCloudPlayer .
- Kelas GKGameSession baru menyediakan solusi umum untuk mengelola penyimpanan data persisten di Game Center.
GKGameSession
mempertahankan daftar pemain dan aplikasi bertanggung jawab menerapkan bagaimana dan kapan tanggal peserta disimpan, diambil, atau ditukar antar pemain. Dalam banyak kasus, Sesi Game dapat menggantikan kecocokan berbasis giliran yang ada, kecocokan real time, atau metode penyimpanan game persisten.
Penyempurnaan Kerangka Kerja GamePlayKit
Penyempurnaan berikut telah dilakukan pada GamePlayKit Framework untuk macOS Sierra:
- Generasi kebisingan prosedural telah ditambahkan dan dapat digunakan untuk meningkatkan realisme dalam tekstur yang tampak alami, menambahkan realisme ke gerakan kamera dan membantu menghasilkan dunia game yang kaya.
- Gunakan Pemartisian Spasial untuk mempartisi data dunia game untuk pencarian yang efisien.
- Ahli strategi Monte Carlo baru (GKMonteCarloStrategist) telah ditambahkan untuk komputasi pemindahan yang mungkin lengkap.
- API Pohon Keputusan baru telah ditambahkan (GKDecisionTree dan GKDecisionNode) untuk meningkatkan AI pembuatan game.
- Dukungan 3D telah ditambahkan ke agen dan perilaku pencarian jalur yang ada menggunakan kelas GKAgent3D dan GKGraphNode3D baru.
- Gunakan kelas GKMeshGraph baru untuk menyediakan jalur berkinerja tinggi dan terlihat alami.
- Kelas GKScene dan GKSKNodeComponent baru membuat menggabungkan GameplayKit dan SpriteKit lebih mudah dari sebelumnya.
Penyempurnaan Kerangka Kerja Logam
Peningkatan berikut telah dilakukan pada Metal Framework untuk macOS Sierra:
- Aplikasi dan game 3D sekarang dapat menggunakan Tessellation untuk merender adegan dan geometri yang kompleks secara efisien melalui GPU.
- Gunakan Spesialisasi Fungsi untuk membuat koleksi fungsi kombinasi material dan cahaya yang sangat dioptimalkan untuk adegan.
- Berikan kontrol alokasi sumber daya terperinci untuk mengoptimalkan performa aplikasi berbasis Logam menggunakan Resource Heaps dan Memoryless Render Targets.
Untuk mempelajari lebih lanjut, silakan lihat Panduan Pemrograman Logam Apple.
Penyempurnaan Kerangka Kerja I/O Model
Penyempurnaan berikut telah dilakukan pada Kerangka Kerja I/O Model untuk macOS Sierra:
- Format file USD sekarang didukung.
- Gunakan kelas baru
MDLMaterialPropertyGraph
untuk mendukung perubahan runtime dengan mudah pada model. - Dukungan Bidang Jarak yang Ditandatangani telah ditambahkan ke kelas MDLVoxelArray .
- Gunakan kelas baru
MDLLightProbeIrradianceDataSource
untuk membantu penempatan Light Probe.
Penyempurnaan Kerangka Kerja Foto
Penyempurnaan berikut telah dilakukan pada Kerangka Kerja Foto untuk macOS Sierra:
- Pengeditan Live Photo sekarang tersedia untuk aplikasi yang mendukung kerangka kerja Foto dan ekstensi pengeditan foto (untuk digunakan di dalam Foto dan aplikasi Kamera).
- Gunakan kelas PHLivePhotoEditingContext baru untuk menerapkan pengeditan pada video dan konten Live Photos.
- Gunakan kelas CIImageProcessorInput dan CIImageProcessorOutput untuk memanfaatkan fitur prosesor Core Image baru untuk melakukan pengeditan.
- Untuk mendukung Live Photos, kelas PHLivePhoto dan PHLivePhotoView telah di-port dari iOS ke macOS.
Peningkatan Kerangka Kerja SceneKit
Penyempurnaan berikut telah dilakukan pada SceneKit Framework untuk macOS Sierra:
- Sekarang termasuk sistem Physically Based Rendering (PBR) baru untuk hasil yang lebih realistis dengan penulisan aset yang lebih sederhana.
- Gunakan model bayangan SCNLightingModelPhysicallyBased baru untuk membuat berbagai efek bayangan realistis sambil hanya membutuhkan tiga properti mendasar (
Diffuse
,Metalness
danRoughness
). - Karena bayangan PBR berfungsi paling baik dengan pencahayaan berbasis lingkungan, gunakan
LightingEnvironment
properti untuk menetapkan pencahayaan berbasis gambar untuk menyatukan seluruh adegan. IESProfileURL
Gunakan properti untuk mengimpor perlengkapan cahaya dunia nyata yang menentukan dasar pencahayaan pada nilai dunia nyata seperti intensitas (dalam lumen) dan suhu warna (dalam derajat Kelvin).- Kelas SCN Kamera dapat memberikan realisme yang lebih besar dengan menggunakan fitur dan efek HDR. Gunakan eksposur adaptif untuk membuat efek otomatis atau menggunakan vignetting, fringing warna, dan penilaian warna untuk menambahkan efek filmatik ke dalam game.
- Fitur kamera PBR dan HDR memberikan hasil yang lebih baik daripada teknik penyajian tradisional dan, sebagai hasilnya, SceneKit sekarang melakukan semua perhitungan warna dalam ruang warna linier (menggunakan gamut warna P3 pada tampilan perangkat warna lebar).
- SceneKit sekarang warna cocok dengan semua warna dengan membaca informasi profil warna.
- SceneKit menginterpretasikan nilai komponen warna dalam ruang warna RGB linier untuk semua jenis shader.
- Karena SceneKit membaca dan menyesuaikan informasi profil warna dalam gambar tekstur, gunakan Katalog Aset untuk semua gambar untuk memastikan informasi ini disediakan.
- Penyajian ruang warna linier dan warna lebar dapat dinonaktifkan dengan menentukan
SCNDisableLinearSpaceRendering
kunci danSCNDisableWideGamut
di aplikasiInfo.plist
. - Bangun primata poligon arbitrer (baik dimuat dari file atau dihasilkan secara terprogram) untuk menentukan geometri dengan kelas SCNGeometryPrimitiveTypePolygon baru.
Penyempurnaan Kerangka Kerja Keamanan
Penyempurnaan berikut telah dilakukan pada Kerangka Kerja Keamanan untuk macOS Sierra:
- Antarmuka
SecKey
telah dimodernisasi dan disatukan di semua platform (iOS, tvOS, watchOS, dan macOS).
Penyempurnaan Kerangka Kerja SpriteKit
Penyempurnaan berikut telah dilakukan pada SpriteKit Framework untuk macOS Sierra:
- Petak peta sekarang mendukung bentuk petak peta persegi, heksagonal, dan isometrik untuk game 2D, 2,5D, dan gulir samping menggunakan
SKTileMapMode
kelas , ,SKTileGroup
SKTileGroupRule
danSKTileSet
. - Gunakan kelas baru
SKWarpGeometry
untuk meregangkan atau mendistorsi rendering SKSpriteNode atau SKEffectNode . Kelas SKAction baru dapat digunakan untuk menganimasikan transisi antara efek warp. - Shader kustom dapat menyediakan atribut (
SKAttribute
) yang dapat dikonfigurasi secara terpisah oleh setiap simpul yang menggunakan shader dengan menyediakan Nilai Atribut (SKAttributeValue
). - Kelas SKView menyediakan beberapa metode baru untuk memberikan kontrol mendetail atas kapan dan bagaimana adegan dirender.
Kerangka Kerja Baru
Kerangka kerja berikut telah ditambahkan ke macOS Sierra:
- Intents Framework - Kerangka kerja ini memungkinkan aplikasi untuk memeriksa interaksi (seperti lokasi atau tindakan pengguna), dan mengambil tindakan berdasarkan informasi tersebut.
- SafariServices Framework - Kerangka kerja ini memungkinkan aplikasi mengembangkan ekstensi aplikasi untuk Safari (seperti pemblokir konten) untuk macOS dan iOS.