diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8d8546f..112c322 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,7 @@ name: Build and test Weather Latvia on: [push, pull_request] env: - DEVELOPER_DIR: /Applications/Xcode_12.app + DEVELOPER_DIR: /Applications/Xcode_12.1.app jobs: build: @@ -17,5 +17,5 @@ jobs: run: brew install swiftlint - name: Run tests - run: set -o pipefail && xcodebuild -project MeteoLV.xcodeproj -scheme MeteoLV -destination 'platform=iOS Simulator,name=iPhone 11 Pro' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO clean test build | xcpretty + run: set -o pipefail && xcodebuild -project MeteoLV.xcodeproj -scheme MeteoLV -destination 'platform=iOS Simulator,name=iPhone 12 Pro' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO clean test build | xcpretty diff --git a/MeteoLV.xcodeproj/project.pbxproj b/MeteoLV.xcodeproj/project.pbxproj index f3a4bcc..1182eea 100644 --- a/MeteoLV.xcodeproj/project.pbxproj +++ b/MeteoLV.xcodeproj/project.pbxproj @@ -25,6 +25,10 @@ 631E462A21BC0D93000CC546 /* meteoLVStation.json in Resources */ = {isa = PBXBuildFile; fileRef = 631E462921BC0D93000CC546 /* meteoLVStation.json */; }; 631E462C21BC0DB1000CC546 /* roadLVStation.json in Resources */ = {isa = PBXBuildFile; fileRef = 631E462B21BC0DB1000CC546 /* roadLVStation.json */; }; 631E462E21BC0DD6000CC546 /* ObservationsViewController+UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631E462D21BC0DD6000CC546 /* ObservationsViewController+UITests.swift */; }; + 6348ECF4254DBD060096386D /* ObservationsStation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635524EE205E56A700EC0E23 /* ObservationsStation.swift */; }; + 6348ED02254DBD9A0096386D /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631E462521BBF287000CC546 /* Constants.swift */; }; + 6348ED0F254DBE530096386D /* ObservationsStation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635524EE205E56A700EC0E23 /* ObservationsStation.swift */; }; + 6348ED16254DBE590096386D /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631E462521BBF287000CC546 /* Constants.swift */; }; 635524EF205E56A700EC0E23 /* ObservationsStation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635524EE205E56A700EC0E23 /* ObservationsStation.swift */; }; 635524F4205E5E6700EC0E23 /* InfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635524F3205E5E6700EC0E23 /* InfoViewController.swift */; }; 6368AE7C253E115600CB8EF1 /* Station+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639BC073253CA93800B0E66B /* Station+Extension.swift */; }; @@ -730,7 +734,9 @@ buildActionMask = 2147483647; files = ( 639BC074253CA93800B0E66B /* Station+Extension.swift in Sources */, + 6348ED0F254DBE530096386D /* ObservationsStation.swift in Sources */, 639BC030253C990100B0E66B /* MeteoLVWidget.swift in Sources */, + 6348ED16254DBE590096386D /* Constants.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -739,8 +745,10 @@ buildActionMask = 2147483647; files = ( 6368AE7C253E115600CB8EF1 /* Station+Extension.swift in Sources */, + 6348ECF4254DBD060096386D /* ObservationsStation.swift in Sources */, 63DF76BF253E0C0200907EC8 /* Intents.intentdefinition in Sources */, 63DF769B253E0AB900907EC8 /* IntentHandler.swift in Sources */, + 6348ED02254DBD9A0096386D /* Constants.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -863,7 +871,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1.14.201019.2343; + CURRENT_PROJECT_VERSION = 1.15.201031.1814; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -925,7 +933,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1.14.201019.2343; + CURRENT_PROJECT_VERSION = 1.15.201031.1814; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -954,7 +962,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = MeteoLV/MeteoLV.entitlements; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1.14.201019.2343; + CURRENT_PROJECT_VERSION = 1.15.201031.1814; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 3SGNZQGS68; INFOPLIST_FILE = MeteoLV/Info.plist; @@ -981,7 +989,7 @@ CODE_SIGN_ENTITLEMENTS = MeteoLV/MeteoLV.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1.14.201019.2343; + CURRENT_PROJECT_VERSION = 1.15.201031.1814; DEVELOPMENT_TEAM = 3SGNZQGS68; INFOPLIST_FILE = MeteoLV/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.1; diff --git a/MeteoLV.xcodeproj/xcuserdata/kristaps.xcuserdatad/xcschemes/xcschememanagement.plist b/MeteoLV.xcodeproj/xcuserdata/kristaps.xcuserdatad/xcschemes/xcschememanagement.plist index 14b26d8..2fae53e 100644 --- a/MeteoLV.xcodeproj/xcuserdata/kristaps.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/MeteoLV.xcodeproj/xcuserdata/kristaps.xcuserdatad/xcschemes/xcschememanagement.plist @@ -28,17 +28,17 @@ isShown orderHint - 4 + 5 MeteoLVShare.xcscheme_^#shared#^_ orderHint - 5 + 2 MeteoLVSiri.xcscheme_^#shared#^_ orderHint - 2 + 3 MeteoLVSiriUI.xcscheme_^#shared#^_ @@ -48,12 +48,12 @@ MeteoLVTodayNotification.xcscheme_^#shared#^_ orderHint - 3 + 1 MeteoLVWidgetExtension.xcscheme_^#shared#^_ orderHint - 1 + 4 SuppressBuildableAutocreation diff --git a/MeteoLV/Assets.xcassets/Contents.json b/MeteoLV/Assets.xcassets/Contents.json index da4a164..73c0059 100644 --- a/MeteoLV/Assets.xcassets/Contents.json +++ b/MeteoLV/Assets.xcassets/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/MeteoLV/Assets.xcassets/favorites-full.imageset/Contents.json b/MeteoLV/Assets.xcassets/favorites-full.imageset/Contents.json deleted file mode 100644 index 075e431..0000000 --- a/MeteoLV/Assets.xcassets/favorites-full.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "favorites-full.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/favorites-full.imageset/favorites-full.pdf b/MeteoLV/Assets.xcassets/favorites-full.imageset/favorites-full.pdf deleted file mode 100644 index 698b2b9..0000000 Binary files a/MeteoLV/Assets.xcassets/favorites-full.imageset/favorites-full.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/favorites.imageset/Contents.json b/MeteoLV/Assets.xcassets/favorites.imageset/Contents.json deleted file mode 100644 index 851e479..0000000 --- a/MeteoLV/Assets.xcassets/favorites.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "favorites.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/favorites.imageset/favorites.pdf b/MeteoLV/Assets.xcassets/favorites.imageset/favorites.pdf deleted file mode 100644 index ed54221..0000000 Binary files a/MeteoLV/Assets.xcassets/favorites.imageset/favorites.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/home-full.imageset/Contents.json b/MeteoLV/Assets.xcassets/home-full.imageset/Contents.json deleted file mode 100644 index 4ef9368..0000000 --- a/MeteoLV/Assets.xcassets/home-full.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "home-full.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/home-full.imageset/home-full.pdf b/MeteoLV/Assets.xcassets/home-full.imageset/home-full.pdf deleted file mode 100644 index 04e4b5f..0000000 Binary files a/MeteoLV/Assets.xcassets/home-full.imageset/home-full.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/home.imageset/Contents.json b/MeteoLV/Assets.xcassets/home.imageset/Contents.json deleted file mode 100644 index 9fa3006..0000000 --- a/MeteoLV/Assets.xcassets/home.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "home.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/home.imageset/home.pdf b/MeteoLV/Assets.xcassets/home.imageset/home.pdf deleted file mode 100644 index b0c1d7c..0000000 Binary files a/MeteoLV/Assets.xcassets/home.imageset/home.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/list.imageset/Contents.json b/MeteoLV/Assets.xcassets/list.imageset/Contents.json deleted file mode 100644 index 4d91f66..0000000 --- a/MeteoLV/Assets.xcassets/list.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "list.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/list.imageset/list.pdf b/MeteoLV/Assets.xcassets/list.imageset/list.pdf deleted file mode 100644 index 85a102c..0000000 Binary files a/MeteoLV/Assets.xcassets/list.imageset/list.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/map.imageset/Contents.json b/MeteoLV/Assets.xcassets/map.imageset/Contents.json deleted file mode 100644 index 60ad78a..0000000 --- a/MeteoLV/Assets.xcassets/map.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "map.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/map.imageset/map.pdf b/MeteoLV/Assets.xcassets/map.imageset/map.pdf deleted file mode 100644 index f1d7d15..0000000 Binary files a/MeteoLV/Assets.xcassets/map.imageset/map.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/temperature.imageset/Contents.json b/MeteoLV/Assets.xcassets/temperature.imageset/Contents.json deleted file mode 100644 index 6d81e3d..0000000 --- a/MeteoLV/Assets.xcassets/temperature.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "filename" : "temperature.pdf", - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "temperature-dark.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/temperature.imageset/temperature-dark.pdf b/MeteoLV/Assets.xcassets/temperature.imageset/temperature-dark.pdf deleted file mode 100644 index aefbb19..0000000 Binary files a/MeteoLV/Assets.xcassets/temperature.imageset/temperature-dark.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/temperature.imageset/temperature.pdf b/MeteoLV/Assets.xcassets/temperature.imageset/temperature.pdf deleted file mode 100644 index d7d9a4b..0000000 Binary files a/MeteoLV/Assets.xcassets/temperature.imageset/temperature.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/wind.imageset/Contents.json b/MeteoLV/Assets.xcassets/wind.imageset/Contents.json deleted file mode 100644 index f519edb..0000000 --- a/MeteoLV/Assets.xcassets/wind.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "filename" : "wind.pdf", - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "wind-dark.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MeteoLV/Assets.xcassets/wind.imageset/wind-dark.pdf b/MeteoLV/Assets.xcassets/wind.imageset/wind-dark.pdf deleted file mode 100644 index ae2ea65..0000000 Binary files a/MeteoLV/Assets.xcassets/wind.imageset/wind-dark.pdf and /dev/null differ diff --git a/MeteoLV/Assets.xcassets/wind.imageset/wind.pdf b/MeteoLV/Assets.xcassets/wind.imageset/wind.pdf deleted file mode 100644 index b10ac59..0000000 Binary files a/MeteoLV/Assets.xcassets/wind.imageset/wind.pdf and /dev/null differ diff --git a/MeteoLV/Core/AppDelegate.swift b/MeteoLV/Core/AppDelegate.swift index e276155..4dcbf4a 100644 --- a/MeteoLV/Core/AppDelegate.swift +++ b/MeteoLV/Core/AppDelegate.swift @@ -27,21 +27,21 @@ class AppDelegate: UIResponder, UIApplicationDelegate { let mapNavigationController = UINavigationController() mapCoordinator = MapViewCooordinator(navigationController: mapNavigationController) mapCoordinator?.start() - let mapTabBarItem = UITabBarItem(title: "Map".localized, image: UIImage(named: "map"), tag: 0) + let mapTabBarItem = UITabBarItem(title: "Map".localized, image: UIImage(systemName: "map"), tag: 0) mapTabBarItem.accessibilityLabel = "Map" mapNavigationController.tabBarItem = mapTabBarItem let favoritesNavigationController = UINavigationController() favoritesCoordinator = FavoritesViewCoordinator(navigationController: favoritesNavigationController) favoritesCoordinator?.start() - let favoritesTabBarItem = UITabBarItem(title: "Favorites".localized, image: UIImage(named: "favorites"), tag: 0) + let favoritesTabBarItem = UITabBarItem(title: "Favorites".localized, image: UIImage(systemName: "star"), tag: 0) favoritesTabBarItem.accessibilityLabel = "Favorites" favoritesNavigationController.tabBarItem = favoritesTabBarItem let listNavigationController = UINavigationController() listCoordinator = ListCoordinator(navigationController: listNavigationController) listCoordinator?.start() - let listTabBarItem = UITabBarItem(title: "List".localized, image: UIImage(named: "list"), tag: 0) + let listTabBarItem = UITabBarItem(title: "List".localized, image: UIImage(systemName: "list.dash"), tag: 0) listTabBarItem.accessibilityLabel = "List" listNavigationController.tabBarItem = listTabBarItem diff --git a/MeteoLV/Core/Constants.swift b/MeteoLV/Core/Constants.swift index 0a8372e..2701808 100644 --- a/MeteoLV/Core/Constants.swift +++ b/MeteoLV/Core/Constants.swift @@ -24,8 +24,8 @@ public extension UserDefaults { } extension UIImage { - static let favoritesFull = UIImage(named: "favorites-full") - static let favorites = UIImage(named: "favorites") - static let homeFull = UIImage(named: "home-full") - static let home = UIImage(named: "home") + static let favoritesFull = UIImage(systemName: "star.fill") + static let favorites = UIImage(systemName: "star") + static let homeFull = UIImage(systemName: "house.fill") + static let home = UIImage(systemName: "house") } diff --git a/MeteoLV/Info.plist b/MeteoLV/Info.plist index 8b5d4a8..4dc8da5 100644 --- a/MeteoLV/Info.plist +++ b/MeteoLV/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.14 + 1.15 CFBundleURLTypes @@ -32,7 +32,7 @@ CFBundleVersion - 1.14.201019.2343 + 1.15.201031.1814 Fabric APIKey diff --git a/MeteoLV/Map/ObservationsViewController.swift b/MeteoLV/Map/ObservationsViewController.swift index 2a148b3..d940db6 100644 --- a/MeteoLV/Map/ObservationsViewController.swift +++ b/MeteoLV/Map/ObservationsViewController.swift @@ -73,7 +73,7 @@ class ObservationsViewController: UIViewController, Storyboarded { let annotation = StationAnnotation(station: station) annotation.coordinate = CLLocationCoordinate2D(latitude: station.latitude, longitude: station.longitude) annotation.title = station.title - annotation.subtitle = station.temperature + annotation.subtitle = station.temperatureWithUnits annotation.accessibilityLabel = station.name annotation.accessibilityIdentifier = station.name diff --git a/MeteoLV/Models/ObservationsStation.swift b/MeteoLV/Models/ObservationsStation.swift index e740ad8..983065c 100644 --- a/MeteoLV/Models/ObservationsStation.swift +++ b/MeteoLV/Models/ObservationsStation.swift @@ -7,7 +7,6 @@ // import Foundation -import Intents #if canImport(WidgetKit) import WidgetKit @@ -18,12 +17,21 @@ import MeteoLVProvider /// Observation station extension ObservationStation { - var title: String { + var temperatureWithUnits: String { guard let temperature = temperature else { - return name + return "" } - return "\(name) \n \(temperature)" + switch self { + case .meteo: + return "\(temperature)°C" + case .road: + return temperature + } + } + + var title: String { + "\(name) \n \(temperatureWithUnits)" } var isFavorited: Bool { @@ -53,27 +61,9 @@ extension ObservationStation { WidgetCenter.shared.reloadAllTimelines() } - donateIntent() - completion() } - private func donateIntent() { - let intent = CurrentConditionsIntent() - intent.suggestedInvocationPhrase = "Current Temperature" - let interaction = INInteraction(intent: intent, response: nil) - - interaction.donate { (error) in - if error != nil { - if let error = error as NSError? { - print("Interaction donation failed: \(error.description)") - } else { - print("Successfully donated interaction") - } - } - } - } - func toggleFavorite(_ completion: @escaping () -> Void) { let favoritesArray = defaults.favorites var favorites = Set(favoritesArray) diff --git a/MeteoLV/StationView/StationViewController.swift b/MeteoLV/StationView/StationViewController.swift index 89418af..a719f11 100644 --- a/MeteoLV/StationView/StationViewController.swift +++ b/MeteoLV/StationView/StationViewController.swift @@ -6,6 +6,7 @@ // Copyright © 2018 fassko. All rights reserved. // +import Intents import UIKit import MeteoLVProvider @@ -37,15 +38,12 @@ extension StationViewController { @IBAction func setHome(_ sender: Any) { station.setHome { [weak self] in self?.updateHomeButton() + self?.donateIntent() } } @IBAction func share(_ sender: Any) { - guard let temperature = station.temperature, let wind = station.wind else { - return - } - - let text = "\(station.name) \(temperature) \(wind)" + let text = "\(station.name) \(station.temperatureWithUnits) \(String(describing: station.wind))" let activityViewController = UIActivityViewController(activityItems: [text], applicationActivities: nil) navigationController?.present(activityViewController, animated: true, completion: {}) } @@ -61,6 +59,22 @@ extension StationViewController { self?.homeButton.image = self?.station.isHome ?? false ? .homeFull : .home } } + + private func donateIntent() { + let intent = CurrentConditionsIntent() + intent.suggestedInvocationPhrase = "Current Temperature" + let interaction = INInteraction(intent: intent, response: nil) + + interaction.donate { (error) in + if error != nil { + if let error = error as NSError? { + print("Interaction donation failed: \(error.description)") + } else { + print("Successfully donated interaction") + } + } + } + } } // MARK: - Table view controller diff --git a/MeteoLV/Storyboards/Base.lproj/Main.storyboard b/MeteoLV/Storyboards/Base.lproj/Main.storyboard index 65a7399..d018419 100644 --- a/MeteoLV/Storyboards/Base.lproj/Main.storyboard +++ b/MeteoLV/Storyboards/Base.lproj/Main.storyboard @@ -3,7 +3,7 @@ - + @@ -126,12 +126,12 @@ - + - + @@ -248,8 +248,8 @@ - - + + diff --git a/MeteoLVShare/Info.plist b/MeteoLVShare/Info.plist index 878e7d1..b38770f 100644 --- a/MeteoLVShare/Info.plist +++ b/MeteoLVShare/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.14 + 1.15 CFBundleVersion - 1.14.201019.2343 + 1.15.201031.1814 NSExtension NSExtensionAttributes diff --git a/MeteoLVSiri/Info.plist b/MeteoLVSiri/Info.plist index 5324838..471899d 100644 --- a/MeteoLVSiri/Info.plist +++ b/MeteoLVSiri/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - $(MARKETING_VERSION) + 1.15 CFBundleVersion - 1.14.201019.2343 + 1.15.201031.1814 NSExtension NSExtensionAttributes diff --git a/MeteoLVSiri/IntentHandler.swift b/MeteoLVSiri/IntentHandler.swift index 84103eb..19bcce3 100644 --- a/MeteoLVSiri/IntentHandler.swift +++ b/MeteoLVSiri/IntentHandler.swift @@ -28,12 +28,11 @@ class SiriIntentHandler: NSObject, CurrentConditionsIntentHandling { switch result { case let .success(stations): - guard let homeStation = stations.first(where: { $0.id == home }), - let temperature = homeStation.temperature else { + guard let homeStation = stations.first(where: { $0.id == home }) else { return } - completion(.success(temperature: temperature.replacingOccurrences(of: ",", with: "."))) + completion(.success(temperature: homeStation.temperatureWithUnits.replacingOccurrences(of: ",", with: "."))) case let .failure(error): debugPrint(error) } diff --git a/MeteoLVTodayNotification/Base.lproj/MainInterface.storyboard b/MeteoLVTodayNotification/Base.lproj/MainInterface.storyboard index d83cbcd..50cc719 100644 --- a/MeteoLVTodayNotification/Base.lproj/MainInterface.storyboard +++ b/MeteoLVTodayNotification/Base.lproj/MainInterface.storyboard @@ -1,8 +1,10 @@ - + - + + + @@ -29,11 +31,13 @@ - - + + + + -