iOS 10’a Giriş
Yeni iOS 10 SDK ile Apple, geliştiricinin yeni uygulama ve özellik kategorileri oluşturmasına olanak tanıyan yeni API'ler ve hizmetler eklemiştir. Bir iOS uygulaması artık Mesajlar, Siri, Telefon ve Haritalar uygulamalarını genişleterek daha önce kullanılamayan son kullanıcıya zengin ve cazip işlevler sağlayabilir.
iOS 10 hakkında daha fazla bilgi için lütfen Apple'ın iOS + Uygulamalar belgelerine bakın.
iOS 10'daki Yenilikler
Apple, iOS 10'da çeşitli yeni API'ler ve hizmetlerin yanı sıra mevcut özelliklerde aşağıdakiler gibi birçok iyileştirme ekledi:
True Tone Display'e uyum sağlama
Apple'ın True Tone Display teknolojisi, bir iOS cihazındaki ortam ışığı sensörünü kullanarak ekranın rengini ve yoğunluğunu geçerli aydınlatma koşullarına uyacak şekilde dinamik olarak ayarlar. iOS 10, uygulamanın dosyasına eklenebilen yeni UIWhitePointAdaptivityStyle anahtarını sağlar ve True Tone'un Info.plist
standart renk kaydırmasını nasıl uyguladığını denetler.
Aşağıdaki değerler kullanılabilir:
UIWhitePointAdaptivityStyleStandard
Varsayılan - Standart beyaz nokta uyarlamasını kullanın.UIWhitePointAdaptivityStyleReading
- Okuma odaklı uygulamalar için kullanılır.UIWhitePointAdaptivityStyleGame
- Oyun odaklı uygulamalar için kullanılır.UIWhitePointAdaptivityStyleVideo
- Video odaklı uygulamalar için kullanılır.UIWhitePointAdaptivityStylePhoto
- Renk doğruluğunun çevre beyaz nokta ayarlamalarından daha önemli olduğu fotoğraf odaklı uygulamalar için kullanılır.
Uygulama Uzantıları
Apple, iOS 10'da birkaç yeni Uygulama Uzantısı Noktası sağladı:
- Arama Dizini
- Amaçlar ve Amaçlar kullanıcı arabirimi
- İletiler
- Bildirim İçeriği
- Bildirim Hizmetleri
- Çıkartma Paketi
Ayrıca, üçüncü taraf Klavye Uygulaması Uzantıları aşağıdaki iyileştirmelere sahiptir:
- sınıfının yeni
DocumentInputMode
özelliğiUITextDocumentProxy
, bir belgenin giriş dilini belirleyebilir ve klavye uzantısının bu dille uyumlu olmasına izin verebilir. - Yeni
HandleInputModeList
yöntem, klavye uzantısının dokunmakta olan Globe Tuşuna yanıt olarak sistemin klavye seçici menüsünü görüntülemesine olanak tanır.
Daha fazla bilgi için lütfen Uzantılara Giriş, İleti Uygulaması Tümleştirmesi, Proaktif Önerilere Giriş, SiriKit'e Giriş, Kullanıcı Bildirimlerine Giriş ve Apple'ın Uygulama Uzantısı Programlama Kılavuzu'na bakın.
Uygulama Araması Geliştirmeleri
iOS 10'daki Temel Öne Çıkanlar, Uygulama Arama'da aşağıdakiler gibi çeşitli geliştirmeler sağlar:
- Crowdsourced Deep-Link Popülerliği (değişiklik gizliliğiyle) - Arama sonuçlarında derin bağlantılı uygulama içeriğini tanıtmanın bir yolunu sağlar.
- Uygulama İçi Arama - Posta, İletiler ve Notlar uygulamalarının çalışma şekline benzer uygulama içi Spotlight arama özelliği sağlamak için yeni
CSSearchQuery
sınıfı kullanın. - Arama Devamı - Kullanıcının Spotlight veya Safari'de arama başlatmasına, ardından bir uygulama açıp aramaya devam etmesine izin verir.
- Doğrulama Sonuçlarının Görselleştirmesi - Apple'ın Uygulama Arama API'sini Doğrulama Aracı artık testleri önceden oluştururken bir web sitesinin işaretlemesinin ve derin bağlantının görsel bir gösterimini görüntüler.
- İleti Uygulaması Görüntü Paylaşımı - İletilerde paylaşım için sağlanan popüler uygulama içi görüntülerin (İleti Uygulaması Uzantısı aracılığıyla) Spotlight aramalarında görünmesini sağlar.
Daha fazla bilgi edinmek için lütfen Uygulama Arama Geliştirmeleri kılavuzumuza bakın.
Apple Pay Geliştirmeleri
Apple, iOS 10'da Apple Pay'de kullanıcının web sitelerinden ve Siri ve Haritalar ile etkileşim yoluyla güvenli ödemeler yapmasına olanak sağlayan çeşitli geliştirmeler yaptı.
iOS 10 ile, dinamik ödeme ağlarını ve yeni bir korumalı alan test ortamını desteklemek için hem iOS hem de watchOS ile çalışan birkaç yeni API eklendi.
Ayrıca PassKit çerçevesi, Apple Pay'in dışında ve kart verenlerin uygulamalarının UIKit
içinden kartlarını sunmasına izin verecek şekilde genişletilmiştir.
Daha fazla bilgi edinmek için lütfen Apple Pay Geliştirmeleri kılavuzumuzu inceleyin.
Alternatif Uygulama Simgeleri
Apple, iOS 10.3'e bir uygulamanın simgesini yönetmesine olanak sağlayan çeşitli geliştirmeler ekledi:
ApplicationIconBadgeNumber
- Springboard'daki uygulama simgesinin rozetini alır veya ayarlar.SupportsAlternateIcons
- Uygulamanın alternatif bir simge kümesi varsatrue
.AlternateIconName
- Seçili durumdaki alternatif simgenin adını veyanull
birincil simgeyi kullanıyorsanız döndürür.SetAlternameIconName
- Uygulamanın simgesini verilen alternatif simgeye değiştirmek için bu yöntemi kullanın.
Daha fazla bilgi edinmek için lütfen Alternatif Uygulama Simgeleri kılavuzumuza bakın.
CallKit'e giriş
iOS 10'daki yeni CallKit API,VOIP uygulamalarının iPhone kullanıcı arabirimiyle tümleştirilmesi ve son kullanıcıya tanıdık bir arabirim ve deneyim sağlaması için bir yol sağlar. Bu API ile kullanıcılar iOS cihazının Kilit Ekranı'ndan VOIP çağrılarını görüntüleyebilir ve bunlarla etkileşimde bulunabilir ve Telefon uygulamasının Sık Kullanılanlar ve Son Kullanılanlar görünümlerini kullanarak kişileri yönetebilir.
Buna ek olarak, CallKit API'si bir telefon numarasını bir adla ilişkilendirebilen (Arayan Kimliği) veya sisteme bir numaranın ne zaman engellenmesi gerektiğini (Arama Engelleme) söyleyebilen Uygulama Uzantıları oluşturma olanağı sağlar.
Daha fazla bilgi edinmek için lütfen Callkit'e Giriş kılavuzumuza bakın.
İleti Uygulaması Tümleştirmesi
iOS 10, İletiler uygulamasıyla tümleşen ve kullanıcıya yeni işlevler sunan Xamarin.iOS çözümüne bir İleti Uygulaması Uzantısı eklenmesine olanak tanır. Uzantı metin, çıkartma, medya dosyaları ve etkileşimli iletiler gönderebilir. İki tür İleti Uygulaması Uzantısı kullanılabilir:
- Çıkartma Paketleri - Kullanıcının iletiye ekleyebileceği bir çıkartma koleksiyonu içerir. Çıkartma Paketleri herhangi bir kod yazmadan oluşturulabilir.
- iMessage Uygulaması - Etiketler seçmek, medya dosyaları (isteğe bağlı tür dönüştürmeleri ile) dahil olmak üzere metin girmek ve etkileşim iletileri oluşturmak, düzenlemek ve göndermek için İletiler uygulamasında özel bir Kullanıcı Arabirimi sunabilir.
Daha fazla bilgi edinmek için lütfen İleti Uygulaması Tümleştirme kılavuzumuza bakın.
Haber Yayımcısı Geliştirmeleri
iOS 10 ile Apple, büyük dergilerden ve yeni kuruluşlardan blog yazarlarına ve bağımsız yayıncılara herkesin kaydolmasına ve Apple News uygulamasına içerik sunmasına izin verecek. Daha fazla bilgi edinmek için lütfen Apple'ın Haber Kaynakları belgelerine bakın.
Dokunmatik Geri Bildirim Sağlama
iPhone 7 ve iPhone 7 Plus'ta Apple, kullanıcıyla fiziksel olarak etkileşim kurmak için ek yollar sağlayan yeni haptics yanıtları eklemiştir. Kullanıcının dikkatini çekmek ve eylemlerini pekiştirmek için yeni dokunsal geri bildirim seçeneklerini kullanın.
Birçok yerleşik kullanıcı arabirimi öğesi Seçiciler, Anahtarlar ve Kaydırıcılar gibi dokunsal geri bildirimler sağlar. iOS 10 artık sınıfın somut bir alt sınıfını UIFeedbackGenerator
kullanarak dokunsalları program aracılığıyla tetikleyebilme olanağını da ekliyor.
Daha fazla bilgi edinmek için lütfen Dokunsal Geri Bildirim Sağlama kılavuzumuza bakın.
Proaktif Öneriler
iOS 10, sistemin uygun zamanlarda kullanıcıya otomatik olarak yararlı bilgiler sunmasına olanak tanıyarak uygulamaya katılım sağlamanın yeni yollarını sunar. Tıpkı iOS 9'un iOS 10 ile Spotlight, Handoff ve Siri Önerileri'ni kullanarak uygulamaya ayrıntılı arama ekleme olanağı sağladığı gibi, bir uygulama aşağıdaki konumlardan sistem tarafından kullanıcıya sunulabilen işlevselliği kullanıma sunabilir:
- Uygulama Değiştirici
- Kilit Ekranı
- CarPlay
- Haritalar
- Siri Etkileşimleri
- QuickType Önerileri
Bir uygulama NSUserActivity, web işaretlemesi, Core Spotlight, MapKit, Medya Oynatıcı ve UIKit gibi teknolojilerin bir koleksiyonunu kullanarak bu işlevselliği sisteme sunar.
Daha fazla bilgi edinmek için lütfen Proaktif Önerilere Giriş kılavuzumuzu inceleyin.
Uygulama İncelemesi İste
iOS 10.3'e yeni eklenen RequestReview()
yöntem, bir iOS uygulamasının kullanıcıdan derecelendirmesini veya gözden geçirmesini istemesini sağlar. Bu yöntem kullanıcı deneyiminde anlamlı olduğu herhangi bir noktada çağrılsa da, gözden geçirme işlemi App Store ilkesi tarafından yönetilir ve işlenir. Sonuç olarak, bu yöntem bir uyarı görüntüleyebilir veya görüntülemeyebilir ve hiçbir zaman bir düğmeye dokunma gibi bir kullanıcı eylemine yanıt olarak çağrılmamalıdır.
Daha fazla bilgi edinmek için lütfen Uygulama gözden geçirme isteği kılavuzumuza bakın.
Güvenlik ve Gizlilik Geliştirmeleri
Apple, iOS 10'da geliştiricinin uygulamalarının güvenliğini iyileştirmesine ve son kullanıcının gizliliğini sağlamasına yardımcı olacak hem güvenlik hem de gizlilikle ilgili çeşitli geliştirmeler yaptı.
Sonuç olarak, iOS 10 (veya üzeri) üzerinde çalışan uygulamalar, dosyalarına uygulamanın neden erişim elde etmek istediği konusunda kullanıcıya açıklayan bir veya daha fazla Gizliliğe Özgü Anahtar Info.plist
girerek belirli özelliklere veya kullanıcı bilgilerine erişme amacını statik olarak bildirmelidir.
Daha fazla bilgi edinmek için lütfen Güvenlik ve Gizlilik Geliştirmeleri kılavuzumuzu inceleyin.
SiriKit
iOS 10'da yeni olan SiriKit, bir Xamarin.iOS uygulamasının iOS cihazında Siri kullanarak kullanıcıya erişilebilen hizmetler sağlamasına olanak tanır. Bu işlev, yeni Intents and Intents UI çerçeveleri kullanılarak bir veya daha fazla Uygulama Uzantısında sağlanır.
SiriKit aşağıdaki hizmet etki alanlarını destekler:
- Sesli veya görüntülü arama.
- Bir gezi için rezervasyon.
- Antrenmanları yönetme.
- Mesajlaşma.
- Fotoğraflar aranıyor.
- Ödemeleri gönderme veya alma.
Kullanıcı Uygulama Uzantısı'nın hizmetlerinden birini içeren bir Siri isteğinde bulunduğunda SiriKit uzantıya kullanıcının isteğini ve destekleyici verileri açıklayan bir Intent nesnesi gönderir. Uygulama Uzantısı daha sonra verilen Amaç için uygun Yanıt nesnesini oluşturur ve uzantının isteği nasıl işleyebileceğini açıklar.
Siri genellikle tüm kullanıcı etkileşimlerini işlerken Uygulama Uzantısı, uygulamanın markasını ve ek bilgilerini içeren zengin ve özel bir Kullanıcı Arabirimi sunmak için Intent UI çerçevesini kullanabilir.
Daha fazla bilgi edinmek için sirikit'e giriş kılavuzumuza bakın.
Konuşma Tanıma
iOS 10, uygulamanın sürekli konuşma tanımayı desteklemesine ve konuşmayı (canlı veya kayıtlı ses akışlarından) metne dönüştürmesini sağlayan yeni bir Konuşma API'sini içerir.
Konuşma tanıma, Apple'ın sunucularında verilerin iletimini ve geçici olarak depolanmasını gerektirdiğinden, uygulamanın kullanıcıdan anahtarı Info.plist
dosyasına ekleyerek NSSpeechRecognitionUsageDescription
ve yöntemini çağırarak tanıma gerçekleştirme izni istemesi SFSpeechRecognizer.RequestAutorization
gerekir.
Daha fazla bilgi edinmek için lütfen Konuşma Tanımaya Giriş kılavuzumuza bakın.
Kullanıcı Bildirimleri
iOS 10'da yeni olan Kullanıcı Bildirimi çerçevesi, yerel ve uzak bildirimlerin teslimine ve işlenmesine olanak tanır. Uygulama veya Uygulama Uzantısı bu çerçeveyi kullanarak, konum veya günün saati gibi bir dizi koşul belirterek yerel bildirimlerin teslimini zamanlayabilir.
Ayrıca uygulama veya uzantı, kullanıcının iOS cihazına teslim edildikçe hem yerel hem de uzak bildirimleri alabilir (ve değiştirebilir).
Yeni Kullanıcı Bildirimi kullanıcı arabirimi çerçevesi, uygulamanın veya Uygulama Uzantısının kullanıcıya sunulduğunda hem yerel hem de uzak bildirimlerin görünümünü özelleştirmesine olanak tanır.
Daha fazla bilgi edinmek için lütfen Kullanıcı Bildirimleri Çerçevesi kılavuzumuza bakın.
Video Abone Hesabı
iOS 10'da yeni olan Video Abone Hesabı çerçevesi, kimliği doğrulanmış akış veya isteğe bağlı video desteği olan uygulamaların, son kullanıcı için Bir Çoklu Oturum Açma deneyimi kullanarak kablo veya uydu TV sağlayıcısıyla kimlik doğrulaması yapmasına olanak tanır.
Geniş Renk
iOS 10, Çekirdek Grafikler, Çekirdek Görüntü, Metal ve AVFoundation gibi çerçeveler dahil olmak üzere genişletilmiş aralıklı piksel biçimleri ve geniş gamut renk alanları desteğini sistem genelinde genişletir. Geniş renkli ekranlara sahip cihazlar için destek, grafik yığınının tamamında bu davranışı sağlayarak daha da kolaylaştırılır.
Buna ek olarak, UIKit yeni genişletilmiş sRGB renk alanında çalışacak şekilde değiştirilmiştir ve bu da büyük performans kaybı olmadan geniş renk gamlarında renkleri karıştırmayı kolaylaştırır.
Apple, geniş renklerle çalışırken aşağıdaki en iyi yöntemleri sunar:
- UIColor artık sRGB renk alanını kullanır ve artık değerleri
0.0
aralığa1.0
sıkıştırmaz. Uygulama önceki kelepçe davranışına bağlıysa, iOS 10 için değiştirilmesi gerekir. - Bir iPad Pro'da özel
UIView
çizim yaparken çizim ortamı sRGB renk alanı için yapılandırılır. - Uygulama özel işlemesi
UIImages
gerçekleştiriyorsa, genişletilmiş aralık veya standart aralık biçimlerinin kullanımını belirtmek için yeni UIGraphicsImageRender sınıfını kullanın. - Görüntü işleme sağlamak için Çekirdek Grafikler veya Metal gibi alt düzey bir API kullanırken, geliştiricinin 16 bit kayan nokta değerlerini destekleyen genişletilmiş bir aralık renk alanı ve piksel biçimi kullanması gerekir. Gerektiğinde, geliştiricinin renk bileşeni değerlerini el ile sıkıştırması gerekir.
- Çekirdek Grafikler, Çekirdek Görüntü ve Metal Performans Gölgelendiricilerinin tümü, iki renk alanı arasında dönüştürme için yeni yöntemler sağlar.
Daha fazla bilgi edinmek için lütfen Geniş Renge Giriş kılavuzumuza bakın.
Pencere Öğesi Geliştirmeleri
Apple, pencere öğelerinin yeni iOS 10 Kilit Ekranında bulunan herhangi bir arka planda harika görünmesini sağlamak için Pencere Öğesi Sisteminde çeşitli geliştirmeler yaptı. NotificationCenterVibrancyEffect özelliği kullanım dışı bırakıldı ve yeni WidgetPrimaryVibrancyEffect veya WidgetSecondaryVibrancyEffect özellikleriyle değiştirildi. Buna ek olarak, pencere öğeleri artık geliştiricinin ne kadar içeriğin kullanılabilir olduğunu açıklamasını ve kullanıcının içeriği genişletip daraltmasını sağlayan bir NCWidgetDisplayMode özelliği içerir.
Daha fazla bilgi edinmek için lütfen Arama ve Giriş Ekranı Pencere Öğesi Geliştirmeleri kılavuzumuza bakın.
Ek Çerçeve Değişiklikleri
Yukarıda listelenen ana çerçeve değişikliklerine ve eklemelerine ek olarak, Apple iOS 10'da birçok ek küçük çerçeve değişikliği yapmıştır.
Daha fazla bilgi edinmek için lütfen Ek Çerçeve Değişiklikleri kılavuzumuza bakın.
Kullanım dışı API'ler
iOS 10'da aşağıdaki API'ler kullanım dışı bırakılmıştır:
CKDiscoverAllContactsOperation
,CKDiscoveredUserInfo
CKDiscoverUserInfosOperation
veCKFetchRecordChangesOperation
sınıfları iOS 10 için CloudKit'te kullanım dışı bırakılmıştır. Bunun yerine CKDiscoverAllUserIdentitiesOperation, CKUserIdentity ve CKFetchRecordZoneChangesOperation sınıflarını (kayıt paylaşımını destekleyen) kullanın.- Çeşitli CKSubscription API'leri (bölge tabanlı ve sorgu tabanlı abonelikler gibi) kullanım dışı bırakıldı. Bunun yerine CKRecordZoneSubscription ve CKQuerySubscription API'lerini kullanın.
- Yaygın içerikle ilgili NSPersistentStoreCoordinator simgeleri kullanım dışı bırakıldı.
ADBannerView
veADInterstitialAd
UIViewController sınıfındaki ilgili simgeler kullanım dışı bırakıldı.- Kayan nokta değerleriyle ilgili SKUniform simgeleri kullanım dışı bırakıldı.
- UIKit'in
UILocalNotification
,UIMutableUserNotificationAction
,UIMutableUserNotificationCategory
,UIUserNotificationAction
UIUserNotificationCategory
veUIUserNotificationSettings
sınıfları kullanım dışı bırakıldı. Bunun yerine Kullanıcı Bildirimleri çerçevesini kullanın. HandleActionForLocalNotification
,HandleActionForRemoteNotification
veDidReceiveLocalNotification
DidReceiveRemoteNotification
WatchKit yöntemleri kullanım dışı bırakıldı.HandleActionForNotification
Bunun yerine veDidReceiveNotification
yöntemlerini kullanın.DidReceiveLocalNotification
WKExtensionDelegate veDidReceiveRemoteNotification
yöntemleri kullanım dışı bırakıldı. Uygun yöntemleri uygulayan bir UNUserNotificationCenterDelegate örneği oluşturun ve bunuDelegate
UNUserNotificationCenter nesnesinin özelliğine atayın.- 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 .
Kullanımdan kaldırmaların tam listesi için Apple'ın iOS 9.3 - iOS 10.0 API Farkları belgelerine bakın.