Forecast
A simple iOS app for weather forecasting.
Overview
Forecast is a simple iOS app for weather forecasting. It should show the actual weather for your current location. In the forecast tab, it should show the forecast for the next 5 days (in 3 hour intervals) at your current location.
What's Done (as per instructions for project)
- Making use of Auto Layout to make the layout responsive for all screen sizes. Full iPhone support.
- Use of CocoaPods and Swift (Zero use of Objective-C).
- Use of Open Weather Map API (http://openweathermap.org/api).
- Use of Geolocation for determining the current position of the device.
- Use of UIActivityViewController to share today's weather information.
- Using the Firebase SDK (Firestore) to store data retrieved from Open Weather Map for later processing for each specific user (using vendor identifier's UUID).
- Use of all graphic assets.
- Use of fonts where applicable.
- Handling of error states (such as being offline, data not loading, errors, etc).
- Refreshing of Today Tab.
[ADDITIONAL FEATURE]
- Refreshing of Forecast Tab.
[ADDITIONAL FEATURE]
- Onboarding page to introduce user to application and request their permission to use their location.
[ADDITIONAL FEATURE]
- Reading stored information from Firebase SDK (Firestore) as a fallback.
[ADDITIONAL FEATURE]
- Making Forecast items clickable to see full information on that forecast item.
[ADDITIONAL FEATURE]
How To Run Project
- NB: CocoaPods is used to manage the project's dependencies.
git clone
the repository or download the zip file.- Navigate to project in your terminal.
- Ensure CocoaPods is on your machine.
pod repo update
.pod install
.- Open Forecast.xcworkspace in Xcode or
open Forecast.xcworkspace/
. - Build and run the project on a Simulator or a physical device.
Environment Tested Under
- OS: macOS High Sierra 10.14 Beta (18A314h)
- XCODE: 9.4.1 / 10.0 beta 2
- SWIFTLANG: 4.1
- COCOAPODS: 1.5.3