diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..aedf013 Binary files /dev/null and b/.DS_Store differ diff --git a/iftarvakti.xcodeproj/project.pbxproj b/iftarvakti.xcodeproj/project.pbxproj index f12c223..0257b87 100644 --- a/iftarvakti.xcodeproj/project.pbxproj +++ b/iftarvakti.xcodeproj/project.pbxproj @@ -278,11 +278,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = iftarvakti/iftarvakti.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_ASSET_PATHS = "\"iftarvakti/Preview Content\""; - DEVELOPMENT_TEAM = D9W8FTBJLT; + DEVELOPMENT_TEAM = 9BHDCG64CC; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -295,7 +296,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.5; PRODUCT_BUNDLE_IDENTIFIER = com.yusufusta.iftarvakti; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -309,11 +310,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = iftarvakti/iftarvakti.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_ASSET_PATHS = "\"iftarvakti/Preview Content\""; - DEVELOPMENT_TEAM = D9W8FTBJLT; + DEVELOPMENT_TEAM = 9BHDCG64CC; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; @@ -326,7 +328,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.5; PRODUCT_BUNDLE_IDENTIFIER = com.yusufusta.iftarvakti; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/iftarvakti/Api.swift b/iftarvakti/Api.swift index efeb93e..43461d8 100644 --- a/iftarvakti/Api.swift +++ b/iftarvakti/Api.swift @@ -46,20 +46,31 @@ class Api { } func getVakitlerAsync(ilceId : String) async -> Vakitler? { + print("ilce",ilceId) let url = URL(string: "https://ezanvakti.herokuapp.com/vakitler/\(ilceId)")! - let urlSession = URLSession.shared + + let cache = URLCache(memoryCapacity: 20 * 1024 * 1024, diskCapacity: 100 * 1024 * 1024, diskPath: "vakitlerCache") + let configuration = URLSessionConfiguration.default + configuration.urlCache = cache + configuration.requestCachePolicy = .returnCacheDataElseLoad + + let urlSession = URLSession(configuration: configuration) var users : Vakitler do { - let (data, _) = try await urlSession.data(from: url) - users = try! JSONDecoder().decode(Vakitler.self, from: data) + let (data, response) = try await urlSession.data(from: url) + + // Önbellekten yüklenip yüklenmediğini kontrol et + if let httpResponse = response as? HTTPURLResponse, let cachedResponse = urlSession.configuration.urlCache?.cachedResponse(for: URLRequest(url: url)) { + } + + users = try JSONDecoder().decode(Vakitler.self, from: data) } catch { - print("Error loading \(url): \(String(describing: error))") + print("Error loading \(url): \(error)") return nil } return users } - } diff --git a/iftarvakti/MenuAppViewModel.swift b/iftarvakti/MenuAppViewModel.swift index 774a11d..4519676 100644 --- a/iftarvakti/MenuAppViewModel.swift +++ b/iftarvakti/MenuAppViewModel.swift @@ -21,7 +21,12 @@ class MenuAppViewModel : ObservableObject { var time : Int = 100; + init() { + self.run() + } + func run() -> Void { + print("run started") api.getIller() { (ils) in self.iller = ils @@ -44,19 +49,18 @@ class MenuAppViewModel : ObservableObject { let geriKalanZaman = self.getTodayAksamVakit(vakitler: self.vakitler!); var geriKalanZaman2 = self.getTodayImsakVakit(vakitler: self.vakitler!); + if (geriKalanZaman == -1 || geriKalanZaman2 == -1) { + exit(1) + } + let topBarStyle = UserDefaults.standard.string(forKey: "topBarStyle") ?? "saatKisa" let selectedIlStr = UserDefaults.standard.string(forKey: "selectedIlStr") let selectedIlceStr = UserDefaults.standard.string(forKey: "selectedIlceStr") var kalanSure = Int((geriKalanZaman! - Date().timeIntervalSince1970)) var kalanSure2 = Int((geriKalanZaman2! - Date().timeIntervalSince1970)) - - if kalanSure2 < -10 { - geriKalanZaman2 = self.getTodayImsakVakit(vakitler: self.vakitler!, another_day:true); - kalanSure2 = Int((geriKalanZaman2! - Date().timeIntervalSince1970)) - } - - if (kalanSure2 > kalanSure && (kalanSure < 1 && kalanSure > -60)) { + + if (kalanSure > 0 && (kalanSure < kalanSure2 || kalanSure2 < 0)) { self.vakitTur = 0; if (kalanSure < 1 && kalanSure > -60) { @@ -70,6 +74,11 @@ class MenuAppViewModel : ObservableObject { } } else { self.vakitTur = 1; + if kalanSure2 < 0 { + geriKalanZaman2 = self.getTodayImsakVakit(vakitler: self.vakitler!, another_day:true); + kalanSure2 = Int((geriKalanZaman2! - Date().timeIntervalSince1970)) + } + kalanSure = kalanSure2 if (kalanSure < 1 && kalanSure > -60) {