iOS 13 – Geliştirici Olarak Dikkatimi Çekenler

Bilindiği üzere Haziran ayındaki WWDC 2019’da iOS 13 duyurusu yapıldı ve beta sürümü üzerinden testler devam ediyor. Muhtemelen bu sonbaharda  stable versiyonu yayına alınır. Yayınladığında iOS 13’ü kullanabilecek cihazlar ise şunlar:

iOS 13 beta 7 sürümünün geçtiğimiz günlerde yayınlanması üzerine de Beta sürümleri kurup biraz kurcaladım ve iOS 13’te geliştirici olarak dikkatimi çeken şeylerden, nelerin değiştiğinden ve eklendiğinden kısaca bahsetmek istedim. Bu yazının içeriği şu şekilde:

  • Dark Mode
  • Background Task
  • SoundAnalysis
  • NSDownloadsFolderUsageDescription
  • LinkPresentation
  • Artırılmış Gerçeklik 
  • Makine Öğrenmesi
  • Gizlilik ve Güvenlik
  • Diğer yenilik ve geliştirmeler

Beta Sürümü Kurmak için:

Apple Beta Software Program’a giderek cihazımıza beta sürümleri indiriyor ve kurulumu yapıyoruz. Visual Studio For Mac için, XCode-beta 11 kurulumundan sonra Check Updates kısmına giderek, XCode 11 Previews seçerek güncellemeleri yüklüyoruz.

Dark Mode

Cihaz genelinde şimdiye kadar kullandığımız açık temaya bir de koyu renk tema eklendi ve ayarlardan şu şekilde değiştirilebiliyor:


Mevcut uygulamalar buna uygun test edilmeli tabii. Xamarin uygulamasındaki kontrollere dark temayı seçerek baktığımızda Entry, DatePicker, TimePicker ve ListView kontrollerinin arkaplan renklerinin siyah olduğunu görürüz.


Dark ve Light için renkler hafif farklılık gösterirler.


Ayrıca yarı saydamlığın iyi çalışmadığı bazı durumlarda kullanabileceğimiz altı tane opak gri renk paleti de eklenmiştir.

BackgroundTasks

iOS 13 ile eklenen büyük ve kullanışlı başka bir kütüphane daha ise BackgroundTasks kütüphanesidir. Bu kütüphane ile arka planda çalışacak görevleri gerekli koşullara göre çalıştırabiliriz. Örneğin: Şarj durumu, internet bağlantısı vb. gibi. BackgroundTasks kütüphanesi birkaç görev tipi içerir. Bunlar:

BGAppRefreshTask, uygulama verilerini güncellemesi için kullanabileceğimiz özel bir Arka Plan Görevi türüdür. Bu görevi çok kullanışlı ve özel yapan şeylerden biri kullanıcı davranışlarıdır. iOS, kullanıcının uygulamayı ne sıklıkta ve hangi saatlerde çalıştırdığını öğrenir ve kullanıcının uygulamayı kullanma olasılığının düşük olduğu zamanlarda BGAppRefreshTask’ı çalıştırır.

Background processing task. bir ML modelini cihazda çalıştırmak veya veritabanında temizlik yapmak için kullanabileceğiniz bir arka plan işlem türüdür. Başlamadan önce,info.plist’den Background Modes altındaki Background processing özelliği seçilmelidir.

SoundAnalysis

Bu kütüphane sayesinde ses dosyaları analiz edilerek ne sesi olduğu elde edilebilir. Örneğin; bir alkış sesi veya gülme sesi gibi. Bunu da tabii ki Core ML il eğitilmiş bir model olan MLSoundClassifier’ı kullanarak gerçekleştirir. Bu kütüphane yardımıyla kayıt sürecindeki veya kayıtlı ses dosyasından sesi analiz ettirerek uygulamalarımıza akıllı ses tanıma yetenekleri ekleyebiliriz.

NSDownloadsFolderUsageDescription

Uygulamalar, yeni eklenen Downloads klasörüne erişmek istediğinde kullanıcıdan izin istenmesinin ve  gösterilecek mesajın ayarlanmasını sağlar.

LinkPresentation

LinkPresentation, içerik açısından zengin URL’leri uygulamamızda uygun bir şekilde göstermemizi sağlayan kütüphanedir. Bir URL’den meta verileri alarak uygulamada bu içeriği gösterebilir ve kullanıcıya share sheet tecrübesi sunabiliriz.

Diagram showing how an LPLinkView presents a map URL with an image of the map on top, and the name and address of the location underneath.

Arttırılmış Gerçeklik (ARKit3, Reality Composer, Reality Kit)

ARKit 3 ile yeni eklenen;

People Occlusion ile uygulamalarda insan hareketleri algılanabilir ve AR içerikleri insanlarının çevresine yerleştirilebilir.

Motion Capture ile insan hareketleri yakalanarak AR ortamına eklenebilir. Aynı anda 3 yüzü takip edebilir. Bu da True Depth kamerası kullanılarak yapılır. True Depth’i içeren cihazlar: iPhone X, iPhone XS, iPhone XS Max, iPhone XR, ve iPad Pro’da kullanılabilirdir.

Reality Composer, 3D içeriğini zenginleştirmek için animasyonlar ve etkileşimler oluşturmamızı sağlar.

Reality Kit, sanal nesneleri sorunsuz bir şekilde gerçek dünyaya entegre etmek için ARKit kütüphanesini temel alan bir arttırılmış gerçeklik kütüphanesidir. ARKit’i temel alması sayesinde gerçekçi fizik tabanlı renderleme, dönüşüm ve iskelet animasyonları, mekansal ses ve katı vücut fiziği ile AR geliştirmeyi kolaylaştırır.

Ayrıca artık hem ön kamera hem de arka kamera ile yüz ve ortam takibi gerçekleştirilebilir.

Machine Learning

CoreML 3 ile model eğitirken artık cihazın donanımsal özelliklerinden de faydalanılabiliyor. Maksimum performans ve verim için cihazın CPU, GPU ve Neural Engine kullanabiliyor ve ML modellerini doğrudan cihaz üzerinde çalıştırmamızı sağlıyor.

Ayrıca yeni CreateML uygulaması, makine öğrenimi uzmanlığı gerekmeden ML modelleri oluşturmanıza, eğitmenize ve yerleştirmenize olanak sağlıyor. Özel bir sunucuya gerek kalmadan, Apple’dan modelleri kendi verilerinizle eğitebilirsiniz.

Gizlilik ve Güvenlik

Sign In With Apple

Sign In With Apple , AppID, TouchID veya FaceID kullanılarak uygulamalara giriş yapılabilmesini sağlıyor. Uygulamalar sadece isim ve mail adresi isteyebiliyorlar. Kullanıcı isterse mailleri, gerçek mail adresine yönlendiren farklı bir mail adresi de oluşturuluyor. Kullanıcı aktivitelerinin takip edilmeyeceğini ve veri kontrolünün de kullanıcının elinde olduğunu belirtiyorlar. Bu işlevi kullanabilmek için bir Apple Developer hesabınızın olması ve aktif edilmesi gerekiyor. Enterprise hesaplar için bu özellik aktif değil maalesef.

Location İzinleri

Uygulamalarımızda konum kullanımı yapıyorsak veya yapacaksak bu yeni izinleri bilmemiz de fayda var. Şöyle ki:

  • Kullanıcılar, uygulamaların konumlarına erişmesini sadece bir kere veya uygulamayı her kullandığımda  şeklinde iki farklı izin ile yönetebilirler.
  • Uygulamalar arka planda eğer konum bilgisi kullanıyorlarsa bununla ilgili kullanıcıya bildirim gönderilir.
  • Wi-Fi veya Bluetooth kullanılıyorsa, uygulamalar kullanıcı izni olmadan konuma erişemezler.
  • Kullanıcı sosyal medyada bir fotoğraf paylaştığında konum ekleyip, eklemeyeceğine karar verebilir.

Diğer Yenilik ve Geliştirmeler

  • Yeni Harita ile 3D ile sokak ve caddeleri görüntülenebilecek.

Ancak Yeni harita şimdilik belirli şehir ve eyaletlerde kullanılabilecek. Bu özellik 2019 yılı içinde ABD genelinde, 2020’de daha fazla ülkede kullanıma sunulacaktır.

  • iOS 13’ün performans bakımından iOS 12’den daha hızlı olduğu iddia ediliyor. Örneğin Face ID ile kilit açma hızı %30 iyileştirildiği söyleniyor.
  • Sonbahardan itibaren App Store’un uygulamaları paketleme yöntemi değişiyor ve boyutları %50 oranında azaltacak yeni bir paketleme sistemine geçiliyor.
  • Uygulamalara gelen güncellemelerin boyutlarının %60 oranında azalacağı söyleniyor.
  • Artık cihazlara App Store üzerinden font eklenebilir ve kullanılabilir.

Önerilen Kaynaklar:

  1. Apple Dökümantasyonu
  2. Beta’larını indirmek için
  3. WWDC 2019 Video’ları için

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir