iOS 10’a Giriş

Yeni iOS 10 SDK ile Apple, geliştiricinin yeni uygulama ve özellik kategorileri oluşturmalarını sağlayan yeni API'ler ve hizmetler içerir. Bir iOS uygulaması artık messages, Siri, Telefon ve Haritalar uygulamalarını daha önce kullanılamayan son kullanıcıya zengin ve ilgi çekici işlevsellik sağlayacak şekilde genişletebilirsiniz.

iOS 10 hakkında daha fazla bilgi için lütfen Apple'ın iOS + Uygulamalar belgelerine bakın.

iOS 10'daki YeniLer

Apple, iOS 10'da çeşitli yeni API'ler ve hizmetler ve mevcut özelliklerde yapılan birçok geliştirmenin yanı sıra şunları da içerir:

True Tone Display'e uyum sağlama

Apple'ın True Tone Display teknolojisi, iOS cihazındaki ortam ışığı algılayıcısını kullanarak ekranın rengini ve yoğunluğunu geçerli aydınlatma koşullarına göre dinamik olarak ayarlar. iOS 10, uygulamanın dosyasına eklen yeni UIWhitePointAdaptivityStyle anahtarını sağlar ve True Tone'un standart renk kaydırmayı nasıl uygulanacağı kontrol eder.

Aşağıdaki değerler kullanılabilir:

  • UIWhitePointAdaptivityStyleStandardUIWhitePointAdaptivityStyleStandard - Standart beyaz nokta uyarlanabilirliği 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 uygunluk ayarının ortam beyaz noktası ayarlamalarına göre 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ı:

  • Çağrı Dizini
  • Intents and Intents UI
  • İletiler
  • Bildirim İçeriği
  • Bildirim Hizmetleri
  • Etiket Paketi

Ayrıca, üçüncü taraf Klavye Uygulaması Uzantıları aşağıdaki iyileştirmelere sahiptir:

  • sınıfının yeni özelliği bir belgenin giriş dilini belirler ve klavye DocumentInputModeUITextDocumentProxy uzantısının bu dille hizalanmasına olanak sağlar.
  • Yeni yöntem, klavye uzantısının dünya anahtarına müdahale etmek için HandleInputModeList sistemin klavye seçici menüsünü görüntülemesini sağlar.

Daha fazla bilgi için lütfen Uzantılara Giriş,İleti Uygulaması Tümleştirmesi,Proaktif Önerilere Giriş,SiriKit'eGiriş, Kullanıcı Bildirimlerine Giriş ve Apple'ın Uygulama Uzantısı Programlama Kılavuzu'muza bakın.

Uygulama Araması Geliştirmeleri

iOS 10'daki Temel Spotlight, Uygulama Arama'da aşağıdakiler gibi çeşitli geliştirmeler sağlar:

  • Kitle kaynak 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çinde Arama - Posta, İletiler ve Notlar uygulamalarının çalışmalarına benzer bir uygulama içinde Spotlight arama özelliği sağlamak için yeni sınıfı kullanın.
  • Arama Devamlılığı - Kullanıcının Spotlight veya Safari'de arama başlatmasını ve ardından bir uygulama açıp aramaya devam etmesini sağlar.
  • Doğrulama Sonuçlarını Görselleştirme - Apple'ın Uygulama Arama API'si Doğrulama Aracı artık testleri önceden biçimlendirilmişken web sitesinin işaretleme ve derin bağlantı görsel temsilini görüntüler.
  • İleti Uygulaması Görüntü Paylaşımı - İletiler'de paylaşmak için sağlanan popüler uygulama içinde görüntülerin (İleti Uygulaması Uzantısı aracılığıyla) Spotlight aramalarında görünmesine izin verir.

Daha fazla bilgi için lütfen Uygulama Arama Geliştirmeleri kılavuzumuza bakın.

Apple Pay Geliştirmeleri

Apple, iOS 10'Apple Pay kullanıcıların web sitelerinden güvenli ödeme yapmalarına ve Siri ve Haritalar ile etkileşime geçerek web sitelerinden güvenli ödeme yapmalarına olanak sağlayan Haritalar.

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 eklenmiştir.

Ayrıca, PassKit çerçevesi, ve dışında Apple Pay kartı kullanıcıların uygulamalarının içinde kartlarını sunmalarına olanak sağlayacak şekilde UIKit genişletildi.

Daha fazla bilgi için lütfen Apple Pay kılavuzumuza bakın.

Alternatif Uygulama Simgeleri

Apple, iOS 10.3'te 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 - true Uygulamanın alternatif bir simge kümesi varsa.
  • AlternateIconName - Şu anda seçili olan alternatif simgenin adını veya null 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 için lütfen Alternatif Uygulama Simgeleri kılavuzumuza bakın.

CallKit'e giriş

iOS 10'daki yeni CallKit API'si, VOIP uygulamalarının iPhone arabirimiyle tümleştirip son kullanıcıya tanıdık bir arabirim ve deneyim sağlamasını sağlar. Bu API ile, kullanıcılar iOS cihazın Kilit Ekranından VOIP çağrılarını görüntüleyip etkileşime geçen ve Telefon 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 (Arayan Kimliği) ilişkilendirilen veya bir numaranın ne zaman engellenmesi gerektiğini (Çağrı Engellemesi) sisteme anlatan Uygulama Uzantıları oluşturma olanağı sağlar.

Daha fazla bilgi için callkit'e giriş kılavuzumuza bakın.

İleti Uygulaması Tümleştirmesi

iOS 10, İletiler uygulamasıyla tümleştirilen ve kullanıcıya yeni işlevler sunan Xamarin.iOS çözümüne bir İleti Uygulaması Uzantısı eklenmesini sağlar. Uzantı metin, etiketler, medya dosyaları ve etkileşimli iletiler gönderebilir. İki tür İleti Uygulaması Uzantısı kullanılabilir:

  • Etiket Paketleri - Kullanıcının bir iletiye ek olarak eklnliklerden bir koleksiyonu içerir. Etiket Paketleri, kod yazmadan oluşturulabilir.
  • iMessage Uygulaması - İletiler Kullanıcı Arabirimi medya dosyaları (isteğe bağlı tür dönüştürmeleri ile) dahil olmak üzere etiket seçmek, metin girmek ve etkileşim iletileri oluşturmak, düzenlemek ve göndermek için özel bir uygulama sunabilirsiniz.

Daha fazla bilgi için lütfen İleti Uygulaması Tümleştirme kılavuzumuza bakın.

Haber Publisher Geliştirmeleri

iOS 10 ile Apple, büyük dergisi ve yeni kuruluşlardan blog yazarlarına ve bağımsız yayımcılara kadar herkesin kaydolmasına, ürüne sahip olmasına ve içeriği Apple News sağlayacaktır. Daha fazla bilgi edinmek için lütfen Apple'ın Haber Kaynakları belgelerine bakın.

Dokunmatik Geri Bildirim Sağlama

Apple, iPhone 7 ve iPhone 7 Plus'ta kullanıcıyla fiziksel olarak etkileşim kurmanın ek yollarını sağlayan yeni haptics yanıtları da dahil etti. Kullanıcının dikkatini çekmek ve eylemlerini pekiştirme amacıyla yeni dokunsal geri bildirim seçeneklerini kullanın.

Seçiciler, Anahtarlar ve Kaydırıcılar gibi çeşitli yerleşik kullanıcı arabirimi öğeleri zaten güzel geri bildirim sağlar. iOS 10 artık sınıfın somut bir alt sınıfını kullanarak haptics'i program aracılığıyla tetikleme özelliği UIFeedbackGenerator ekler.

Daha fazla bilgi için lütfen Haptic Geri Bildirim Sağlama kılavuzumuza bakın.

Proaktif Öneriler

iOS 10, sistemin uygun zamanlarda kullanıcıya yararlı bilgileri proaktif olarak sunarak uygulamaya katılımın yeni yollarını sunar. iOS 9'un Spotlight, Handoff ve Siri Önerilerini kullanarak uygulamaya derin arama ekleyebilme özelliği sağladığı gibi, iOS 10 ile bir uygulama da aşağıdaki konumlardan sistem tarafından kullanıcıya sunulan işlevleri ortaya çıkarabilirsiniz:

  • Uygulama Anahtarcı
  • Kilit Ekranı
  • CarPlay
  • Haritalar
  • Siri Etkileşimleri
  • QuickType Önerileri

Bir uygulama NSUserActivity,web işaretlemesi, Core Spotlight, MapKit, Media Player ve UIKit gibi teknolojilerden bir koleksiyon kullanarak bu işlevselliği sisteme sunar.

Daha fazla bilgi için lütfen Proaktif Önerilere Giriş kılavuzumuza bakın.

Uygulama İncelemesi İste

iOS 10.3'te yeni olan yöntemi, bir iOS uygulamasının kullanıcıdan uygulamayı değerlendirmesini veya gözden RequestReview() geçirmesini istemesini sağlar. Bu yöntem, kullanıcı deneyiminde anlamlı olan herhangi bir noktada çağrılsa da, gözden geçirme işlemi ilke tarafından yönetilir ve App Store yönetilir. Sonuç olarak, bu yöntem bir uyarı görüntülemeyebilirsiniz veya görüntülemez ve bir düğmeye dokunma gibi bir kullanıcı eylemine yanıt olarak asla çağrılmama gerekir.

Daha fazla bilgi 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 hem güvenlik hem de gizlilik geliştirmeleri yaptı. Bu geliştirmeler, geliştiricilerin uygulamalarının güvenliğini artırmalarına ve son kullanıcının gizliliğini korumalarına yardımcı olacak.

Sonuç olarak, iOS 10 (veya sonraki bir) üzerinde çalışan uygulamaların dosyalarında, kullanıcıya uygulamanın neden erişim kazanmak istediğiyle ilgili açıklamayı açıklayan bir veya daha fazla Gizlilik Özel Anahtarı girerek belirli özelliklere veya kullanıcı bilgilerine erişme amacını statik olarak açıklaması Info.plist gerekir.

Daha fazla bilgi için lütfen Güvenlik ve Gizlilik Geliştirmeleri kılavuzumuza bakın.

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ğlamalarına olanak sağlar. Bu işlevsellik, 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.
  • Yolculuk rezervasyonu.
  • Sporları yönetme.
  • Mesajlaşma.
  • Fotoğraf arama.
  • Ödeme gönderme veya alma.

Kullanıcı, Uygulama Uzantısı hizmetlerinden birini içeren Siri isteği gönderdiği zaman SiriKit uzantıya kullanıcının isteğini ve tüm destek verilerini açıklayan bir Intent nesnesi gönderir. Uygulama Uzantısı daha sonra verilen Amaç için uygun Response nesnesini oluşturur veuzantının isteği nasıl işleyebilirsiniz?

Siri genellikle tüm kullanıcı etkileşimlerini ele alırken, Uygulama Uzantısı Intent UI çerçevesini kullanarak uygulamanın markasını ve ek bilgilerini Kullanıcı Arabirimi zengin ve özel bir hizmet sunabilirsiniz.

Daha fazla bilgi için lütfen 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üren yeni bir Konuşma API'si içerir.

Konuşma tanıma, Apple'ın sunucularında verilerin iletimini ve geçici olarak depolanması gerektirdiği için uygulamanın, anahtarı dosyasına dahil etmek ve yöntemini çağırarak tanıma gerçekleştirme iznini talep etmek Info.plistSFSpeechRecognizer.RequestAutorization zorunda.

Daha fazla bilgi 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 teslim ve işlenmesine olanak sağlar. Bu çerçeveyi kullanarak, uygulama veya Uygulama Uzantısı konum veya günün saati gibi bir dizi koşullar belirterek yerel bildirimlerin teslimi zamanlaması yapabilirsiniz.

Buna ek olarak, uygulama veya uzantı kullanıcının iOS cihazına teslim edildiklerinde hem yerel hem de uzak bildirimler alır (ve değiştirebilir).

Yeni Kullanıcı Bildirimi kullanıcı arabirimi çerçevesi, uygulamanın veya Uygulama Uzantısının kullanıcıya sunulan yerel ve uzak bildirimlerin görünümünü özelleştirmesini sağlar.

Daha fazla bilgi için lütfen Kullanıcı Bildirimleri Çerçevesi kılavuzumuza bakın.

Video Abone Hesabı

iOS 10 için yeni olan Video Abone Hesabı çerçevesi, kimliği doğrulanmış akışı veya isteğe bağlı videoyu destekleyen uygulamaların son kullanıcı için Çoklu Oturum Açma deneyimi kullanarak kablo veya uydu TV sağlayıcısıyla kimlik doğrulaması yapmalarını sağlar.

Geniş Renk

iOS 10; Çekirdek Grafikler, Çekirdek Görüntü, Metal ve AVFoundation gibi çerçeveler de dahil olmak üzere sistem genelinde genişletilmiş aralık piksel biçimleri ve geniş oyun renk alanları desteğini genişletmektedir. Geniş renk ekranları olan cihazlar için destek, grafik yığınının tamamına bu davranışı sağlayarak daha da kolaylaştırıldı.

Buna ek olarak, UIKit yeni genişletilmiş sRGB renk alanı içinde çalışacak şekilde değiştirilmiştir ve bu nedenle önemli bir performans kaybı olmadan geniş renk oyunlarında renkleri karıştırmak daha kolay hale geldi.

Apple, geniş renklerle çalışırken aşağıdaki en iyi yöntemleri sunar:

  • UIColor artık sRGB renk aralığını kullanır ve artık değerleri aralığına 1.0 sıkıştırmaz. Uygulama önceki davranış davranışına bağlı ise iOS 10 için değiştirilmeleri gerekir.
  • Çizim ortamı, bir iPad Pro üzerinde özel çizim yaparken sRGB UIView renk alanı için iPad Pro.
  • Uygulama özel işleme gerçekleştiriyorsa, genişletilmiş aralık veya standart aralık biçimlerinin kullanımını belirtmek için yeni UIImagesUIImages sınıfını kullanın.
  • Geliştirici, görüntü işleme sağlamak için Core Graphics veya Metal gibi düşük düzeyli bir API kullanırken, 16 bit kayan nokta değerlerini destekleyen genişletilmiş aralık renk alanı ve piksel biçimi kullan olmalıdır. 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ölgelendiricileri, iki renk alanı arasında dönüştürme için yeni yöntemler sağlar.

Daha fazla bilgi için lütfen Geniş Renk'e Giriş kılavuzumuza bakın.

Pencere Öğesi Geliştirmeleri

Apple, pencere öğelerinin yeni iOS 10 Kilit Ekranında mevcut olan tüm arka planlarda harika bir görünüme sahip olmasını sağlamak için Pencere Öğesi Sistemi'ne çeşitli geliştirmeler yaptı. NotificationCenterVibrancyEffect özelliği kullanım dışı bırakıldı ve yeni WidgetPrimaryVibrancyEffect veya WidgetSecondaryVibrancyEffect özellikleriyle değiştirildi. Ayrıca, pencere öğeleri artık geliştiricinin ne kadar içeriğin kullanılabilir olduğunu açıklamasına ve kullanıcının içeriği genişletmesini ve daraltması için izin veren bir NCWidgetDisplayMode özelliği içerir.

Daha fazla bilgi için lütfen Arama ve Giriş Ekranı Pencere Öğesi Geliştirmeleri kılavuzumuza bakın.

Ek Çerçeve Değişiklikleri

Apple, yukarıda listelenen önemli çerçeve değişikliklerine ve eklemelere ek olarak iOS 10'da birçok ek küçük çerçeve değişikliği de yaptı.

Daha fazla bilgi için lütfen Ek Çerçeve Değişiklikleri kılavuzumuza bakın.

Kullanım dışı API'ler

Aşağıdaki API'ler iOS 10'da kullanım dışıdır:

  • , CKDiscoverAllContactsOperationCKDiscoveredUserInfo ve sınıfları CKDiscoverUserInfosOperationCKFetchRecordChangesOperation iOS 10 için CloudKit'te kullanım dışıdı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ışıdır. Bunun yerine CKRecordZoneSubscription ve CKQuerySubscription API'lerini kullanın.
  • NSPersistentStoreCoordinator sembolleri, her zaman aynı içeriğe sahip olan kullanım dışıdır.
  • ADBannerView, ADInterstitialAd ve ADBannerView ilgili semboller kullanım dışıdır.
  • Kayan nokta değerleriyle ilgili SKUniform sembolleri kullanım dışıdır.
  • UILocalNotificationUIMutableUserNotificationActionUIMutableUserNotificationCategoryUIUserNotificationActionUIUserNotificationCategory UIKit 'in , ve sınıfları kullanım UIUserNotificationSettings dışıdır. Bunun yerine Kullanıcı Bildirimleri çerçevesini kullanın.
  • HandleActionForLocalNotification, HandleActionForRemoteNotification ve DidReceiveLocalNotificationDidReceiveRemoteNotification WatchKit yöntemleri kullanım dışıdır. Bunun yerine HandleActionForNotification ve DidReceiveNotification yöntemlerini kullanın.
  • DidReceiveLocalNotificationDidReceiveRemoteNotificationDidReceiveLocalNotification ve yöntemleri kullanım dışıdır. Uygun yöntemleri uygulayan bir UNUserNotificationCenterDelegate örneği oluşturun ve bunu UNUserNotificationCenter nesnesinin özelliğine atatabilirsiniz.
  • Game Center Uygulaması kullanım dışıdır ve iOS'tan kaldırılmıştır. Uygulama GameKit kullanıyorsa, gamekit özelliklerini (örneğin, leaderboards) görüntülemek için kendi arabirimini sunsa gerekir.

Kullanım dışı kullanımların tam listesi için Apple'ın iOS 9.3 ile iOS 10.0 API Arasındaki Farklar belgelerine bakın.