ShowMeWeather — це простий iOS-додаток, який показує прогноз погоди для вибраного міста.
Зроблений на Swift + SwiftUI, використовує API OpenWeatherMap.
- Пошук прогнозу погоди за містом
- Використання
async/awaitдля роботи з мережею - JSON-декодування у модель
ForecastResponse - Простий інтерфейс на SwiftUI
У додатку використовується ключ OpenWeather. З міркувань безпеки ключ не зберігається у репозиторії.
- Створи файл
Config.plistу корені проєкту. - Додай у нього такий вміст:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>OPENWEATHER_KEY</key>
<string>YOUR_API_KEY_HERE</string>
</dict>
</plist>- У Xcode переконайся, що
Config.plistдоданий у твій Target. - Додай
Config.plistу.gitignore, щоб не пушити ключ у GitHub.
У коді ключ завантажується так:
enum APIKeys {
static var openWeather: String {
guard let filePath = Bundle.main.path(forResource: "Config", ofType: "plist"),
let plist = NSDictionary(contentsOfFile: filePath),
let value = plist["OPENWEATHER_KEY"] as? String else {
fatalError("❌ OPENWEATHER_KEY not found in Config.plist")
}
return value
}
}І в ForecastService:
let requestPath = "https://api.openweathermap.org/data/2.5/forecast?q=\(location)&units=metric&appid=\(APIKeys.openWeather)"Старий ключ, який був у коді, більше не використовується. Для запуску потрібно додати свій власний ключ у Config.plist.