SwiftWeather is an iOS weather app developed in Swift 2. The app has been actively upgrading to adopt the latest features of iOS and Swift language.
Notices
The current version is working with Xcode Version 7. If you are using different Xcode version, please check out the previous versions.
Version 3
This version has been upgraded to support iOS 9 only using Swift 2.
There are two major version for the app released before.
- V1.0 - Support iOS 7+ using CocoaPods and AFNetworking. README.v1.md and Release V1 - Using Cocoapods and AFNetworking
- V2.0 - Support iOS 8+ using Carthage, Alamofire and SwiftyJSON. README.v2.md and Release V2.0
- V2.1 - Support iOS 8+ using Alamofire and SwiftyJSON. This version has removed Carthage because some developers don’t have a paid Apple iOS developer account and they have issues to build Carthage packages.
Screenshots
Features
- Swift Programming Language - fully upgraded to version 2
- Design driven development - Sketch design file
- Custom UIView
@IBDesignable
and@IBInspectable
- Reusable UI components
UIStackView
- Size Classes - Support different devices with adpative layout
MVVM - Reactively update
ViewController
UI fromViewModel
Protocal oriented programming - Still learning though and finding the best practise of that.
Value based programming - Use imutable value anywhere.
Icon fonts - Use Weather Icons
Core Location
TODO
- App indexing like CoreSpotlight ans
NSUserActivity
- Unit Tests
- UI Tests
- Animations
How to build
1) Clone the repository
1 2 |
|
2) Install pods
1
|
|
3) Open the workspace in Xcode
1
|
|
4) Compile and run the app in your simulator
Requirements
- Xcode 7
- iOS 9