Siri, Apple tarafından sağlanan sanal bir asistandır. Siri'yi işletim sistemi olarak iOS, iPadOS, watchOS, macOS veya tvOS bulunan Apple ürünlerinde kullanabilirsiniz. Cihazınızla etkileşim için sesinizi kullanmanıza izin verir. Siri, başlangıçta SRI Yapay Zeka Merkezi tarafından geliştirilen bir projeydi ve 2010 Şubat ayında bir uygulama olarak piyasaya sürüldü. Apple tarafından satın alındı ve iPhone 4S'ye entegre edildi. Siri, Apple ürünlerinin bir parçası haline geldi.
İOS 13 ile Siri'ye yeni özellikler eklendi. Kullanacağımız önemli bir özellik de Siri'nin kullanıcılardan parametreleri alması. Ancak bu özelliğin iOS 13 sürümünde bir hatası var. Bu hata, Siri'nin parametreleri sorması yerine yönlendirilmiş Kısayol kullanmasıdır. İOS 13.1'de bu hata düzeltildi. Siri ayrıca iOS 13 sürümünden önce parametreler aldı. İOS 13'ten önceki sürümlerinde Siri, belirli özellikler için kullanıcıdan bilgi alabilirdi. Ancak bu, belirli kısıtlamalar altında mümkündü. Örneğin bir para transferi işleminde gönderilecek miktar, belirli koşullar (alt ve üst limit gibi) eklenerek kullanıcıdan sesli komut ile alınabilir. Özel parametreleri tanımlayıp kullanıcılardan alabiliriz. Bu da uygulamamızda Siri'den çok daha fazla yararlanacağımız yerlerde kullanışlılığı artırıyor.
Opsgenie iOS Uygulamasında, kullanıcılar gelen bildirimleri belirli bir aralık için sessize alma olanağına sahiptir. Bu özellik, Siri'nin yeni özelliği için tam olarak doğru görünüyor. Kullanıcılar, uygulamayı açmak yerine Siri'yi kullanarak gelen bildirimleri sessize alabilir. Bu sayede çok hızlı çalışabilir. Siri'yi Projemize uygulamaya başlayalım.
SiriKit, Amaçlar ve Amaçlar UI çerçevelerini kapsar. Uygulamanın dışında çalışmak için bu amaçlara ihtiyacımız var. Amaçlar, SiriKit'ten kullanıcı isteklerini alır ve bunları uygulamaya özel eylemlere dönüştürür. Intents UI frameworkleri, bu eylemlerin sonunda oluşturduğumuz UI'yi kullanıcıya göstermemizi sağlar. Siri Amacı Oluşturun;
Ardından, özel amacımızı SiriKit Amaç Tanımlama Dosyası ile tanımlıyoruz.
Amaç uzantısında
IntentHandler.swiftdosyayı bulacaksınız . Bu dosyada eylemci geçersiz kılma yöntemini göreceksiniz. Bu yöntem, gelen amaçları bunları işleyebilen nesneye eşleyen bir dağıtıcı görevi görür. Bunu geçersiz kılacağız ve MuteIntent işleyicisini döndüreceğiz. MuteIntent, Xcode tarafından otomatik olarak oluşturuldu.
'MuteIntentHandler' amaç işleyici dosyasını oluşturduk ve 'MuteIntentHandling' protokolüne devraldık. Bu protokol bize bazı yöntemler verir. Mute aralığı için dakika parametresini oluşturduğumuzu unutmayın. Minimum veya maksimum değer gibi bazı kısıtlamalar belirledik. Kontroller, 'MuteIntentHandling' protokolü tarafından sağlanan 'resolMinute' yönteminde yapılır. Parametre kontrol edildikten sonra, bu yöntem 'MuteMinuteResolutionResult' türünde bir yanıt döndürmelidir. Bu yöntem başarılı bir sonuç döndürürse, tutamaç yöntemi yürütülür. Bu yöntemde bir sessiz istek gönderiyoruz. Bu yöntem görevi yürütür ve sonunda bir yanıt döndürür.
'Handle' yöntemi bir yanıt döndürdüğünde, iki yolumuz var. İlk olarak, SiriKit'in belirtilen parametreler için varsayılan arayüzü görüntülemesini istiyorsak, Sirikit UI amacı yaratamayabiliriz veya 'configureView' yönteminde false olarak ayarlanmış tamamlanma değerini döndürebiliriz. İkinci bir şekilde, Siri tarafından görüntülenen varsayılan arayüzün bir kısmını veya tamamını değiştirmek istersek, bunu IntentViewController'da 'configureView' yöntemini kullanmak için yapabiliriz.
Kullanıcı, bildirim uygulamasını sessize alma gibi bir eylem gerçekleştirdiğinde, uygulama, eylemi kısayol olarak Siri'ye ekleme seçeneği sunmalıdır. Bu amaçla kullanıcının kısayol eklemesine veya düzenlemesine izin veren INUIAddVoiceShortcutButton düğmesi kullanılır. Düğmeyi MuteOptionViewController'a ekledik. Düğmenin 'Kısayol' değişkeni MuteIntent olarak ayarlandı.
Şimdi bir kısayol düğmesi oluşturduk ve Siri uygulamasını tamamladık. Uygulamayı açıp bir kısayol belirleyeceğiz.
Bu düğmeye dokunduğunuzda, aşağıda gösterilen ekranı göreceksiniz. Bazı kelimeleri kısayol adları olarak belirlemeliyiz. Kısayolun adını belirledikten sonra, düzenleme eylemini açmak için 'yap' alanına dokunmalıyız.
Dakika değerini şimdi değiştirebiliriz. Yapmazsak, dakika yine de varsayılan değerini kullanır. 'Her seferinde sor' seçeneğini tercih etmeliyiz. Bu şekilde, uygulama her seferinde bizden dakika seçimini isteyecektir.
Şimdi Siri'yi açalım ve her adımı en baştan deneyelim.
SiriKit, uygulamalarımızın birçok bölümünde kullanılabilir, bu nedenle kullanışlı bir araçtır. Ayrıca kritik görevleri pratik bir şekilde tamamlamamıza olanak tanır ve Siri'nin işlevselliği için güçlü bir yol sunar.
Yolculuk paylaşımı için ezber bozan bir şey Lyft'te yaptığımız her şey arasında, sürücüler ve sürücüler arasındaki alışmaların koreografisini yapmak en karmaşık ve önemli olanlardan biridir. Bu koreografiyi başarmak, Lyft'in pek çok şeyi iyi yapmasına bağlıdır, ancak yalnızca binicileri hıza uydurmak çok önemlidir.
: Uygulama başlatmadan kapatmaya döngü: Bellek veya verileri yöneterek kullanılabilirlik ⬆️ Güvenlik işlenebilir UIApplication, AppDelegate durumu: AppDelegate nesnesinin UIApplication nesnesinden gönderilen mesajı aldığı ve her birini yürüttüğü işlevleri tanımlar Çalışmıyor: Uygulamanın çalışmadığı durum Etkin değil: Uygulamanın çalıştığı ancak hiçbir etkinliğin alınmadığı durum Etkin: Uygulamanın çalıştığı ve bir olayın meydana geldiği durum Arka Plan: Uygulamanın arka planda olduğu ancak yürütülmekte olan kodun bulunduğu durum Askıya Alındı: Uygulamanın bulunduğu durum arka plan ve kod çalıştırma, AppDelegate.swift dosyasında delege işlevleri olacak SceneDelegate iOS 13'ten itibaren desteklenen çoklu sahne işlevine iyi yanıt vermek için AppDelegate / SceneDelegate AppDelegate 1.
Bir protokol, Swift'de çok basit ama temel bir kavramdır. Bir protokol, bir kod sözleşmesi gibidir.
M1 çipini çalıştıran bir Mac'iniz varsa, yalnızca Mac App Store'da listelenen iOS / iPadOS uygulamalarını çalıştırabilir. Peki ya Mac App Store'da listelenmeyen iOS / iPadOS uygulamaları? Resmi olarak yapamazsınız.
Yazar: Francis Mariano, iOS Mühendisi Dünyanın sağlığını ve mutluluğunu iyileştirin - Headspace'te sahip olduğumuz cesur bir görev beyanı. Bizi, içinde yaşayanların çeşitli deneyimlerini fark etmeye zorlayan biri.
Bu sefer SwiftUI kullanarak bir daire içinde metin etiketi göstermenin birkaç yolunu inceleyeceğiz. ZStack görünümünü kullanarak üç farklı yoldan daha derine ineceğiz.