iOS App Development

Apple’ın 3D Touch’ı nedir, nasıl çalışır ve uygulamanıza nasıl entegre edilir?

December 21, 2021

Apple, Eylül 2015’te standart cam ekranlardan farklı etkileşim seviyeleri sunan 3D Touch adlı bir ekran teknolojisini tanıttı. 3D Touch özelliğini destekleyen cihazlarda, kullanıcılar dokunmatik ekrana farklı seviyelerde basınç uygulayarak ek işlevlere erişebilir. Uygulamalar, bir öğeyi göstermek için içerik menüsü görüntüleyerek tıklanabilir hale getirildi.

Ana ekrandan uygulamalara hızlı erişim

Ana ekranda uyumlu bir uygulamanın simgesini basılı tutarak açılan menüden uygulama açılmadan önce çeşitli aksiyonları gerçekleştirmenize olanak tanır. Örneğin, kamera uygulamasını basılı tutarak, ana kamera yerine selfie kamerasını başlatmanıza izin verirken, Haritalar uygulamasında hedefinizi işaretleme veya konumunuzu gönderme seçeneği sunar.

Bu geliştirmeyi uygulama tarafında nasıl yapacağımıza geçelim.

1 . İçerik menüsü oluşturma

İçerik menümüzü oluştururken 2 farklı yöntem kullanabiliriz.

1.1. Info.plist

İlk olarak info.plist dosyası üzerinden nasıl yapıldığına bakalım.

Aşağıdaki gibi görünümde info.plist dosyasını açmak için sağ tıklayıp Open As > Source Code demelisiniz. Daha sonra kendi uygulamanıza özel 3D Touch içerik menüsünü istediğinizi gibi özelleştirebilirsiniz.

UIApplicationShortcutItemTitle : 3D Touch içerik menüsündeki başlık kısmına karşılık geliyor.

UIApplicationShortcutItemSubtitle : 3D Touch içerik menüsündeki alt başlık kısmına karşılık geliyor.

UIApplicationShortcutItemIconFile : Sağ kısımdaki küçük ikonun Assets içerisinde bulunan resmimizin adına karşılık geliyor.

UIApplicationShortcutItemType : Tıklanan 3D Touch objesinin AppDelegate dosyamızda hangi sayfaya yönlenmesine karar vermemizi sağlayacak değer olacak.

Diğer bir görünüm ise aşağıdaki varsayılan görünümdür. Tek tek kendi uygulamanıza özel düzenleyip kişiselleştirebilirsiniz.

1.2 . AppDelegate.swift dosyasında tanımlama işlemi

AppDelegate.swift dosyamızda application(_:didFinishLaunchingWithOptions:) instance metodu içerisinde tanımlayacağız.

Aşağıdaki şekilde içerik menü objelerini tek tek oluşturup application altındaki “shortcutItems” alanına tanımlıyoruz.

İçerik menüsü oluşturma işlemimiz bu şekilde bitiyor ikinci adım olarak bu menülere tıklandığında alınacak aksiyonlar olacak.

2. 3D Touch menü aksiyonları

AppDelegate.swift dosyamız içerisine application(_:performActionFor:completionHandler:) adı altında yeni bir instance metodu ekleyeceğiz.

Aşağıdaki metot ile tıklanan menü elemanın tüm özelliklerini alıp ona göre aksiyon alabiliriz. İki farklı kod bloğu ekledim. İlkinde seçtiğiniz 3D Touch menüsünü doğrulamanız için ekranda seçilen menünün adını yazan bir alert. İkincisi ise menü type bilgisine göre ekran yönlendirmesi yapan bir yapı.

Uygulamamızın son hali

3D Touch destekleyen cihaz listesi : iPhone 13 Pro Max, iPhone 13 Pro, iPhone 13, iPhone 12 Pro Max, iPhone 12 Pro, iPhone 12, iPhone 12 mini, iPhone SE (2nd generation), iPhone 11, iPhone 11 Pro, iPhone 11 Pro Max, and iPhone XR. These devices support 3D Touch: iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus, iPhone X, iPhone XS, and iPhone XS Max.

Author: Murat Bayri

Tags

3D Touch iOS iOS App Development Swift