Aracılığıyla paylaş


Ek iOS 10 Çerçeve Değişiklikleri

Bu makale, iOS 10 için mevcut çerçevelerde yapılan ek, küçük değişiklikleri veya iyileştirmeleri kapsar.

AV Foundation Framework Eklemeleri

AVFoundation çerçevesi aşağıdaki geliştirmeleri içerir:

  • iOS 10'da geliştiricinin artık içerik türüne göre farklı AVPlayerItem davranışları uygulaması gerekmez. Özelliği ayarlamanız Rate yeterlidir ve AVFoundation, oynatma için yeterli içeriğin ne zaman kullanılabilir olduğunu beklemeden belirler.
  • Yeni AVCapturePhotoOutput sınıfı kullanım dışı bırakılan AVCaptureStillImageOutput sınıfın yerini alır ve canlı fotoğraflar ve RAW yakalama biçimi gibi yeni özellikler için gelişmiş denetim ve izleme sağlayarak tüm fotoğraf iş akışlarını işlemek için birleşik bir yöntem sağlar.
  • Yeni AVPlayerLooper sınıf, kayıttan yürütme sırasında belirli bir medya parçasını döngüye almak kolaylaştırır.
  • sınıfı, AVAssetDownloadURLSession FairPlay şifrelenmiş HLS akışlarının indirilmesine ve daha sonra kayıttan yürütülmesine olanak tanır.
  • Varsayılan olarak AVCaptureSession sınıfı, cihaz donanımı desteklediğinde geniş renkli, geniş gamut yakalamayı otomatik olarak destekler. Daha fazla ayrıntı için bkz. Apple'ın iOS Cihaz Uyumluluğu Başvurusu .

AVKit Eklemeleri

AVKit çerçevesi artık Şimdi Yürütülüyor Bilgi Merkezi'nin ne zaman güncelleştirilmesi gerektiğini belirten yeni UpdatesNowPlayingInfoCenter özelliği içerir.

Temel Veri Geliştirmeleri

iOS 10, Çekirdek Veri çerçevesi için aşağıdaki geliştirmeleri içerir:

  • WAL Günlük Modu'nda SQLite veri depolarına sahip NSManagedObjectContext nesneleri, yönetilen nesne bağlamlarının (MOC) gelecekteki getirme ve hata işlemleri için belirli veritabanı sürümlerine sabitlenebildiği yeni sorgu oluşturma özelliğini destekler.
  • Kök NSManagedObjectContext nesneleri, serileştirme olmadan eşzamanlı hata ve getirmeyi destekler.
  • NSPersistentStoreCoordinator sınıfı bir SQLite veri depoları havuzu tutar.
  • Getirme işlemlerini gerçekleştirmeyi ve alt sınıf oluşturmayı kolaylaştırmak için NSManagedObject birkaç yeni kolaylık yöntemi eklendi.
  • , NSManagedObjectModel ve diğer Temel Veri yapılandırma kaynaklarına başvurmak NSPersistentStoreCoordinatoriçin üst düzey NSPersistenceContainer kullanma.

Daha fazla bilgi için bkz. Apple'ın Çekirdek Veri Çerçevesi Başvurusu.

Çekirdek Görüntü Geliştirmeleri

iOS 10, Çekirdek Görüntü çerçevesi için aşağıdaki geliştirmeleri yapar:

  • Geliştirici artık işleme öncesinde ve sonrasında renk alanını dönüştürerek Çekirdek Görüntü bağlamının çalışma renk alanının dışındaki bir renk alanında görüntüleri işleyebilir.
  • A8 veya A9 CPU kullanan iOS cihazları için ARTıK RAW görüntü biçimi desteklenmektedir. Core Image artık yerleşik iSight kameradan veya 3. taraf kameradan RAW görüntülerin kodunu çözme desteği sağlar. FilterWithImageData RAW görüntülerini işlemek için CIFilter sınıfının veya FilterWithImageURL yöntemlerini kullanın.
  • Nesnelerdeki UIImageView işlemede (Çekirdek Görüntü görüntü depoları tarafından yedeklendiğinde) çeşitli işleme performansı geliştirmeleri yapılmıştırUIImage.
  • UIImage geniş gamut etiketli nesneler, iOS cihazlarında geniş rengi destekleyen nesnelerde UIImageView geniş gamut rengi olarak işlenir.
  • Çekirdek Görüntü çekirdek kodu artık belirli piksel çıkış biçimlerini isteyebilir.
  • ImageWithExtent CIFilter sınıfının yöntemi, filtre işlemine özel işleme eklemek için kullanılabilir. Çekirdek Görüntü, bir görüntüyü çıkış veya görüntü için işlerken filtreler arasında verilen geri çağırmayı çağırır.

Ayrıca, aşağıdaki yeni Çekirdek Görüntü filtreleri eklendi:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Çekirdek Hareket Eklemeleri

iOS 10'da yeni olan Core Motion çerçevesi, bir uygulamanın çalışırken kullanıcı duraklatma ve devam etme izlemesine ilişkin hızlı, gerçek zamanlı bildirimler almasını sağlayan adım adım olayları içerir. Ön plan veya arka plan pedometre olaylarına kaydolmak için CMPedometer'ı kullanın.

Temel Geliştirmeleri

iOS 10 için Temel çerçevede aşağıdaki geliştirmeler yapılmıştır:

  • Son kullanıcıya görüntülenecek yerelleştirilmiş ölçümleri biçimlendirmek için yeni NSMeasurementFormatter sınıfını kullanın.

  • Aralıkları karşılaştırmak ve aralık kesişimleri için test etmek üzere süreler gibi tarih ve saat aralığı hesaplamaları yapmak için yeni NSDateInterval sınıfını kullanın.

  • Farklı Ölçü Birimleri (UOM) arasında dönüştürmek veya farklı UOM'lerdeki değerler üzerinde hesaplamalar yapmak için yeni NSMeasurement sınıfını kullanın.

  • Belirli UOM'leri temsil etmek için yeni NSUnit ve NSDimension sınıflarını kullanın.

  • Yerel bilgileri ve kullanılabilir görüntü biçimlerini almak için NSLocal sınıfına birkaç yeni özellik eklendi.

GameKit Geliştirmeleri

iOS 10'da GameKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Game Center Uygulaması kullanım dışı bırakıldı ve iOS'tan kaldırıldı. Uygulama GameKit kullanıyorsa puan tabloları gibi GameKit özelliklerini görüntülemek için kendi arabirimini sunması gerekir .
  • GKCloudPlayer sınıfı tarafından yeni bir yalnızca iCloud hesabı türü uygulandı.
  • Yeni GKGameSession sınıfı, Game Center'da kalıcı veri depolamayı yönetmek için genelleştirilmiş bir çözüm sağlar. GKGameSession bir oyuncu listesi tutar ve uygulama, katılımcı tarihinin nasıl ve ne zaman depolandığını, alınıp alınıp alın Birçok durumda Oyun Oturumları mevcut sıra tabanlı eşleşmelerin, gerçek zamanlı eşleşmelerin veya kalıcı oyun kaydetme yöntemlerinin yerini alabilir.

GameplayKit Geliştirmeleri

iOS 10'da GameplayKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Yüksek performanslı, doğal görünümlü yollar sağlamak için yeni GKMeshGraph sınıfını kullanın.
  • Yordamsal gürültü üretimi eklenmiştir ve doğal görünümlü dokularda gerçekçiliği geliştirmek, kamera hareketlerine gerçekçilik eklemek ve zengin oyun dünyaları oluşturmaya yardımcı olmak için kullanılabilir.
  • Verimli arama için oyun dünyası verilerini bölümlendirmek için Uzamsal Bölümleme'yi kullanın.
  • Kapsamlı olası hareket hesaplaması için yeni bir Monte Carlo stratejisti (GKMonteCarloStrategist) eklendi.
  • Yeni GKAgent3D ve GKGraphNode3D sınıfları kullanılarak mevcut aracıya ve yol bulma davranışlarına 3B destek eklendi.
  • Yeni GKScene ve GKSKNodeComponent sınıfları, GameplayKit ve SpriteKit'i birleştirmeyi her zamankinden daha kolay hale getirir.
  • Oyun geliştirme yapay zekasını geliştirmek için yeni bir Karar Ağacı API'si (GKDecisionTree ve GKDecisionNode) eklendi.

HealthKit Geliştirmeleri

iOS 10'da HealthKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Hava durumu türleri (ve gibi HKWeatherConditionClearHKWeatherConditionCloudy) için yeni meta veri anahtarları eklendi ve egzersiz türleri (ve gibi HKWorkoutActivityTypeFlexibilityHKWorkoutActivityTypeWheelchairRunPace) eklendi.
  • Yeni HKCDADocument sınıf, Klinik Belge Mimarisi (CDA) biçimli bir belgeyi temsil etmek için eklenmiştir.
  • Bir antrenmanın ve LocationType değerini belirtmek için yeni HKWorkoutConfiguration sınıfını ActivityType kullanın.
  • Tekerlekli sandalyeyle ilgili sağlık verileriyle çalışmak için yeni HKWheelchairUseObject ve WheelchairUse HKHealthStore sınıfının yöntemi eklendi.

HomeKit Geliştirmeleri

iOS 10'da HomeKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Yeni hizmetler ve özellikler eklendi.
  • Bir iPad, uzaktan erişim sağlamak, otomasyon tetikleyicilerini çalıştırmak ve paylaşılan kullanıcı izinlerini etkinleştirmek için HomeKit Hub görevi görmesi için yapılandırılabilir.
  • Kamera ve kapı zili aksesuarları için destek eklendi.
  • Aksesuarlar için daha fazla bağlam ve yapılandırma sağlanmıştır.

Daha fazla bilgi için lütfen HomeKit'e Giriş belgelerimize bakın.

Metal Geliştirmeleri

iOS 10'da Metal çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • 3B uygulamalar ve oyunlar artık KARMAŞıK sahneleri ve geometriyi GPU aracılığıyla verimli bir şekilde işlemek için Tessellation'ı kullanabilir.
  • Kaynak Yığınları ve Belleksiz İşleme Hedeflerini kullanarak Metal tabanlı uygulamaların performansını iyileştirmek için kaynak ayırmada ayrıntılı denetim sağlayın.
  • Bir sahne için yüksek düzeyde iyileştirilmiş malzeme ve ışık bileşimi işlevleri koleksiyonu oluşturmak için İşlev Uzmanlığı'na tıklayın.

Daha fazla bilgi edinmek için lütfen Apple'ın Metal Programlama Kılavuzu'na bakın.

ModelIO Geliştirmeleri

iOS 10'da ModelIO çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • USD dosya biçimi artık desteklenmektedir.
  • MDLVoxelArray sınıfına İmzalı Uzaklık Alanı desteği eklendi.
  • Light Probe yerleştirme konusunda yardımcı olması için yeni MDLLightProbeIrradianceDataSource sınıfı kullanın.
  • Modellerde çalışma zamanı değişikliklerini kolayca desteklemek için yeni MDLMaterialPropertyGraph sınıfı kullanın.

Fotoğraf Geliştirmeleri

iOS 10'da Fotoğraflar çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

ReplayKit Geliştirmeleri

iOS 10'da ReplayKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

SceneKit Geliştirmeleri

iOS 10'da SceneKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • SCN Kamera sınıfı, HDR özelliklerini ve efektlerini kullanarak daha gerçekçilik sağlayabilir. Otomatik efektler oluşturmak için uyarlamalı pozlama kullanın veya oyuna dolgu efektleri eklemek için vinyet, renk saçaklama ve renk notlama kullanın.
  • SceneKit artık daha basit varlık yazma özelliğiyle daha gerçekçi sonuçlar elde eden yeni bir Fiziksel Tabanlı İşleme (PBR) sistemi içeriyor.
  • Yeni SCNLightingModelPhysicallyBased gölgelendirme modelini kullanarak çok çeşitli gerçekçi gölgelendirme efektlerinin çarpımını yaparken yalnızca üç temel özellik (DiffuseMetalnessve Roughness) gerekir.
  • PBR gölgelendirmesi ortam tabanlı aydınlatma ile en iyi şekilde çalıştığından, görüntü tabanlı aydınlatmayı sahnenin LightingEnvironment tamamına atamak için özelliğini kullanın.
  • IESProfileURL Yoğunluğu (lümen) ve renk sıcaklığı (Kelvin derecesinde) gibi gerçek dünya değerlerini temel alan aydınlatmayı tanımlayan gerçek dünya ışık armatürlerini içeri aktarmak için özelliğini kullanın.
  • Hem PBR hem de HDR kamera özellikleri geleneksel işleme tekniklerinden daha iyi sonuçlar sağlar ve sonuç olarak, SceneKit artık tüm renk hesaplamalarını doğrusal bir renk alanında (geniş renkli cihaz ekranlarında P3 renk gamı kullanarak) gerçekleştirir.
  • SceneKit artık renk profili bilgilerini okuyarak tüm renklerle eşleşir.
  • SceneKit, tüm gölgelendirici türleri için doğrusal RGB renk alanında renk bileşeni değerlerini yorumlar.
  • Hem doğrusal renk alanı işleme hem de geniş renk, uygulamanın Info.plistiçinde ve SCNDisableWideGamut anahtarları belirtilerek SCNDisableLinearSpaceRendering devre dışı bırakılabilir.
  • Yeni SCNGeometryPrimitiveTypePolygon sınıfıyla geometriyi belirtmek için rastgele çokgen primatlar (dosyalardan yüklenen veya program aracılığıyla oluşturulan) oluşturun.
  • SceneKit doku görüntülerindeki renk profili bilgilerini okuduğundan ve ayarladığından, bu bilgilerin sağlandığından emin olmak için tüm görüntüler için Varlık Katalogları'nı kullanın.

SpriteKit Geliştirmeleri

iOS 10'da SpriteKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Özel gölgelendiriciler, bir Öznitelik Değeri (SKAttribute) sağlayarak gölgelendiriciyi kullanan her düğüm tarafından ayrı olarak yapılandırılabilir öznitelikler (SKAttributeValue) sağlayabilir.
  • Kutucuk haritaları artık , ve sınıflarını kullanarak SKTileMapModeSKTileGroupSKTileGroupRule 2B, 2,5B ve yan kaydırma oyunları için kare, altıgen ve SKTileSet izometrik kutucuk şekillerini destekliyor.
  • SKSpriteNode veya SKEffectNode işlemesini uzatmak veya deforme etmek için yeni SKWarpGeometry sınıfı kullanın. Yeni SKAction sınıfı, warp efektleri arasındaki geçişlere animasyon eklemek için kullanılabilir.
  • SKView sınıfı, bir sahnenin ne zaman ve nasıl işlendiği üzerinde ayrıntılı denetim sağlamak için birkaç yeni yöntem sağlar.

ScrollView Geliştirmeleri

iOS 10.3'teki ScrollView denetiminde aşağıdaki geliştirmeler yapılmıştır:

  • UIScrollViewşimdi kullanıcı şu şekilde kaydırılırken UIScrollViewIndexDisplayMode dizinin nasıl gösterileceğini denetlemek için özelliğini ekleyinIndexDisplayMode:
    • Automatic - Dizin görüntüsü işletim sistemi tarafından denetlenmektedir.
    • AlwaysHidden - Dizin ekranı her zaman gizlidir.

UIKit Geliştirmeleri

iOS 10'da UIKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Yeni UIPasteboard API'sinde yeni seçenekler (yaşam süresi sınırlamaları gibi) sağlanır ve ortak sınıf türleri için uyumlu içerik türlerini otomatik olarak bildirir.
  • Yeni tamamen etkileşimli, nesne tabanlı, kesintiye uğrayabilen animasyon desteği eklendi ve hareketlere bağlanabilir. Daha fazla bilgi için lütfen Apple'ın UIViewAnimating Protokol Başvurusu, UIViewPropertyAnimator Sınıf Başvurusu, UITimingCurveProvider Protokol Başvurusu, UICubicTimingParameters Sınıf Başvurusu ve UISpringTimingParameter Sınıf Başvurusu bölümüne bakın.
  • Yeni UIPreviewInteraction ve UIPreviewInteractionDelegate geliştirici uygulamasının göz atma ve pop işlemleri için özel bir arabirim sağlamasına olanak sağlar.
  • Yeni UIAccessibilityCustomRotor sınıf, uygulamanın Voice Over gibi yardımcı teknolojilere özel, bağlama özgü işlevler sağlamasına olanak tanır.
  • AssistiveTouch'ın UIAccessibilityIsAssistiveTouchRunning etkinleştirilip etkinleştirilmediğini belirlemek için ve UIAccessibilityAssistiveTouchStatusDidChangeNotification simgelerini kullanın.
  • UIAccessibilityHearingDevicePairedEar Eşleştirilmiş MFi işitme cihazlarının durumunu almak için ve UIAccessibilityHearingDevicePairedEarDidChangeNotification simgelerini kullanın.
  • Etiketlerde Dinamik Türü desteklemek için, metin alanları ve metin kutuları sınıfının yeni PreferredFontForTextStyle yöntemini UIFont kullanın.
  • Cihaz UIContentSizeCategory değiştiğinde öğenin yazı tipini güncelleştirip güncelleştirmeyeceğine karar vermek için temsilcinin AdjustsFontForContentSizeCategoryUIContentSizeCategoryAdjusting özelliğini kullanın.
  • OpenURL sınıfının yöntemi UIApplication zaman uyumsuz olarak çağrılır ve artık açma eylemi tamamlandıktan sonra çağrılan bir Tamamlama İşleyicisi'ni destekler.
  • CloudKit paylaşımını başlatın ve yeni UICloudSharingController ve UICloudSharingControllerDelegate sınıflarını kullanarak özelliklerini değiştirin.
  • Yeni UICollectionViewDataSourcePrefetching temsilciyle kaydırma deneyimini geliştirmek için önceden oluşturulmuş hücrelerden UICollectionViews yararlanın.
  • Geliştirici artık sekme çubuğu öğeleri (metin ve arka plan rengi gibi) için rozetin görünümünü denetleyebiliyor.
  • Yenileme Denetimi artık tüm kaydırma görünümünde ve kaydırma görünümü alt sınıflarında (örneğin UICollectionView) desteklenmektedir.

WebKit Geliştirmeleri

iOS 10'da WebKit çerçevesinde aşağıdaki geliştirmeler yapılmıştır:

  • Sınıfa WKWebView göz atma ve pop desteği eklendi. Belirli bir web görünümünün ShouldPreviewElement önizleme görüntülemesi gerekip gerekmediğini belirlemek için yöntemini kullanın.