Giter Club home page Giter Club logo

swiftopenweathermapapi's Introduction

Swift Open Weather Map API

Swift Open Weather Map API is a wrapper around OpenWeatherAPI

Platform CocoaPods Compatible Carthage compatible

Requirements

  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 7

Installation

CocoaPods

You can use CocoaPods to install SwiftOpenWeatherMapAPI adding it to your Podfile:

pod 'SwiftOpenWeatherMapAPI'

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate Alamofire into your Xcode project using Carthage, specify it in your Cartfile:

github "filippotosetto/SwiftOpenWeatherMapAPI"

Run carthage update to build the framework and drag the built Alamofire.framework, SwiftyJSON.framework and SwiftOpenWeatherMapAPI.framework into your Xcode project.

Initialization

Include the header:

import SwiftOpenWeatherMapAPI

Setup the api:

// Setup weather api
let weatherAPI = WAPIManager(apiKey: "YOUR_API_KEY")

// Setup weather api with temperature format
let weatherAPI = WAPIManager(apiKey: "YOUR_API_KEY", temperatureFormat: .Celsius)

// Setup weather api with temperature format and language
let weatherAPI = WAPIManager(apiKey: "YOUR_API_KEY", temperatureFormat: .Celsius, lang: .English)

Getting data

The api is at this time just simple wrapper for the http-api.

weatherAPI.currentWeatherByCityNameAsJson("London") { (result) -> Void in
    //Do something with the data
}

The result is a WeatherResult emum

public enum WeatherResult {
    case Success(JSON)
    case Error(String)
}

In case of success the associated object is of type JSOM coming from mapping the api data using SwiftyJSON.

In case of error the associated type is a String describing the failure.

Usage

The following methods are available at this time:

Current Weather

Current weather by city name:

public func currentWeatherByCityNameAsJson(cityName: String, data: (WeatherResult) -> Void)

Current weather by coordinate:

public func currentWeatherByCoordinatesAsJson(coordinates: CLLocationCoordinate2D, data: (WeatherResult) -> Void)

Forecasts (3 hour intervals)

forecast by city name:

public func forecastWeatherByCityNameAsJson(cityName: String, data: (WeatherResult) -> Void)

forecast by coordinate:

public func forecastWeatherByCoordinatesAsJson(coordinates: CLLocationCoordinate2D, data: (WeatherResult) -> Void)

Daily Forecasts

daily forecast by city name:

public func dailyForecastWeatherByCityNameAsJson(cityName: String, data: (WeatherResult) -> Void)

daily forecast by coordinates:

public func dailyForecastWeatherByCoordinatesAsJson(coordinates: CLLocationCoordinate2D, data: (WeatherResult) -> Void)

Historic Data

historic data by city name:

public func historicDataByCityNameAsJson(cityName: String, start: NSDate, end: NSDate?, data: (WeatherResult) -> Void)

historic data by coordinates:

public func historicDataByCoordinatesAsJson(coordinates: CLLocationCoordinate2D, start: NSDate, end: NSDate?, data: (WeatherResult) -> Void)

swiftopenweathermapapi's People

Contributors

filippotosetto avatar readmecritic avatar

Watchers

 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.