Giter Site home page Giter Site logo

meixililu / swiftweather Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jakelin/swiftlanguageweather

0.0 2.0 0.0 45.8 MB

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.

License: MIT License

Ruby 0.44% Swift 99.22% Shell 0.35%

swiftweather's Introduction

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

swiftweather's People

Contributors

doedje avatar ekkog avatar hnaoto avatar hoang-tran avatar jakelin avatar orchan avatar pjchavarria avatar thelittleboy avatar tokuriku avatar wozuo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.