Skip to content

SwiftWeather is an iOS weather app developed in Swift 3.1 The app has been actively upgrading to adopt the latest features of iOS and Swift language.

License

Notifications You must be signed in to change notification settings

durul/SwiftWeather

 
 

Repository files navigation

Swift Weather

BuddyBuild Language License

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 releases.

How about Swift 3?

We have investigated Swift 3. We need to wait for the third party libraries support Swift 3 first, then we can upgrade Swift Weather to support Swift 3.

Version 3

This version has been upgraded to support iOS 9 only using Swift 2.

There is 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

Sketch design

  • Custom UIView

Custom UIView

  • @IBDesignable and @IBInspectable - Reusable UI components

IBDesignable and IBInspectable

  • UIStackView

UIStackView

  • Size Classes - Support different devices with adaptive layout

Size Classes

  • MVVM - Reactively update ViewController UI from ViewModel

  • Protocol-Oriented Programming - Still learning though and finding the best practice of that.

  • Value based programming - Use imutable value anywhere.

  • Icon fonts - Use Weather Icons

  • SwiftyJSON

  • Core Location

TODO

  • App indexing like CoreSpotlight and NSUserActivity
  • Unit Tests
  • UI Tests
  • Animations

How to build

  1. Clone the repository
$ git clone https://github.com/JakeLin/SwiftWeather.git
  1. Install pods
$ cd SwiftWeather
$ pod install
  1. Open the workspace in Xcode
$ open "SwiftWeather.xcworkspace"
  1. Sign up on openweathermap.org/appid to get an appid
$ mkdir .access_tokens
$ echo "your-openweathermap-appid" > .access_tokens/openweathermap

Please replace "your-openweathermap-appid" with your actual appid key.

  1. Compile and run the app in your simulator

  2. If you don't see any data, please check "Simulator" -> "Debug" -> "Location" to change the location.

Requirements

  • Xcode 7
  • iOS 9

About

SwiftWeather is an iOS weather app developed in Swift 3.1 The app has been actively upgrading to adopt the latest features of iOS and Swift language.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.3%
  • Other 0.7%