Hoş geldiniz!

Bizimle kayıt olarak, topluluğumuzun diğer üyeleriyle tartışabilir, paylaşımda bulunabilir ve özel mesajlaşabilirsiniz.

Hemen Kaydolun!

Swift UI arka planda Zamanlayıcı Resetlemek ???

Yeni Üye
Katılım
Ara 21, 2024
Mesajlar
7

Youtube videosunu izleyip sorunu anlayabilirsiniz !

Arkadaşlar merhaba Swift UI ile yaptığım bir pomodoro app uygulamasında uygulamayı arka plana alıp tekrar açtığımızda geri sayımın resetlenmesini istiyorum uygulama açık iken başka bir sayfaya geçip yapıp tekrar geri sayım sayfasına dönünce gördüğünüz gibi sayım resetleniyor aynı fonksiyonu main app etiketi altında çağırmama rağmen çalışmıyor neden olmuş olabilir kod ile ilgili detaylar aşağıdadır.Daha fazla detay gerekirse meet üzerinden kodu inceleyebiliriz.

Not:Arkadaşlar benim yaptığım yöntemden daha iyi bir çözüm varsa onuda dinlemek isterim.Ama öncelik hatayı bulmakta neden oluyor olabilir ?

Screenshot 2024-12-29 at 01.31.26.pngScreenshot 2024-12-29 at 01.32.41.png
 
Son düzenleme:
Eyüp Furkan Tüylü
Yönetici
Katılım
Kas 20, 2024
Mesajlar
84
Burada app life cycle hakkında bilgi sahip olmak gerekli ve şöyle bir şey yapılabilir;


Swift:
import SwiftUI

@main
struct MyApp: App {
    @Environment(\.scenePhase) private var scenePhase

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        .onChange(of: scenePhase) { newPhase in
            switch newPhase {
            case .active:
                print("Uygulama aktif")
                // Uygulama aktif hale geldiğinde yapılacak işlemler
            case .inactive:
                print("Uygulama inaktif")
                // Uygulama geçici olarak inaktif hale geldiğinde yapılacak işlemler
            case .background:
                print("Uygulama arka planda")
                // Uygulama arka planda çalışmaya başladığında yapılacak işlemler
            @unknown default:
                print("Bilinmeyen durum")
            }
        }
    }
}

Kaynak olarak: Link

Burada inactive kısmında çalışıyor olması gerekiyor.
 
Yeni Üye
Katılım
Ara 21, 2024
Mesajlar
7
Burada app life cycle hakkında bilgi sahip olmak gerekli ve şöyle bir şey yapılabilir;


Swift:
import SwiftUI

@main
struct MyApp: App {
    @Environment(\.scenePhase) private var scenePhase

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        .onChange(of: scenePhase) { newPhase in
            switch newPhase {
            case .active:
                print("Uygulama aktif")
                // Uygulama aktif hale geldiğinde yapılacak işlemler
            case .inactive:
                print("Uygulama inaktif")
                // Uygulama geçici olarak inaktif hale geldiğinde yapılacak işlemler
            case .background:
                print("Uygulama arka planda")
                // Uygulama arka planda çalışmaya başladığında yapılacak işlemler
            @unknown default:
                print("Bilinmeyen durum")
            }
        }
    }
}

Kaynak olarak: Link

Burada inactive kısmında çalışıyor olması gerekiyor.
Teşekkür ederim main etiketi altında yapmaktansa view üzerinde yaptım ve çalıştı bakalım bir süredir uğraştığım heves kırıcı bir problemdi
 

Ekli dosyalar

  • Screenshot 2024-12-31 at 04.31.04.png
    Screenshot 2024-12-31 at 04.31.04.png
    27.5 KB · Görüntüleme: 4
  • Screenshot 2024-12-31 at 04.31.28.png
    Screenshot 2024-12-31 at 04.31.28.png
    25.2 KB · Görüntüleme: 4
Üst