İçeriğe geç

İOS ile Execution durum kontrolü

İOS

Merhabalar bu yazımda İOS programlarken kullanmamızın yararlı olduğu uygulama davranışları nasıl kontrol edilir buna örnek vereceğim.

Bunun için Observers yapısını kullanıyoruz. Bu yapıyı ilerleyen makalemde daha detaylı bahsedeceğim. Yapının temeli sürekli olarak arka fonda çalışması ve duruma göre tetiklenmesi bizimde ona göre kod yazmamız.

Aşağıdaki vereceğim örneklerde çoğu kişinin merak ettiği olay home buttona uygulama içerisindeyken çift tıklama yapıp, background ekranı geldiğindeki tetiklenme ve tekrar uygulamaya background’dan girdiğimizdeki tetikleme işlemi.

Tüm bu işlemler İOS programlamada AppDelegate‘de yer alır. Biz bu fonksiyonları NSNotificationServer ile kontrol ederiz.

Bu mantığı kullanarak uygulamaya çıkarken girerken veri çekme,görsel değişiklikler yapabilirsiniz. İOS programlamada çok yararlı bir konu böylelikle telefon tuşlarının uygulama içinde basılma kontrolu,ekran resmi çekme kontolu yapabilirsiniz.

let activeStateObs = NSNotificationCenter.defaultCenter()
let passiveStateObs = NSNotificationCenter.defaultCenter()

activeStateObs.addObserver(self, selector: #selector(appActiveMod), name: UIApplicationDidBecomeActiveNotification, object: nil)
passiveStateObs.addObserver(self, selector: #selector(appPassiveMod), name: UIApplicationWillResignActiveNotification, object: nil)

func appActiveMod() {
//
}

func appPassiveMod() {
//
}

Bu verdiğim örneğimde uygulamadan çıkarken ve girerken tetiklenecek fonksiyonları görebilirsiniz.

Aşağıda AppDelegate.Swift ‘de bulunan Execution fonksiyonlarını listeledim.

applicationWillResignActive(application: UIApplication)
applicationDidBecomeActive(application: UIApplication)
applicationDidEnterBackground(application: UIApplication)
applicationWillEnterForeground(application: UIApplication)
application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool
applicationWillTerminate(application: UIApplication)

 

Kategori:iOS

Bu yazı yorumlara kapalı.

Copyright © 2022 Kenan Atmaca