Swift Language Weather is an iOS weather app developed in Swift

Overview

Swift Language Weather

BuddyBuild Language License

SwiftWeather has renamed to Swift Language Weather. Because this repo is ranked number one in Google when we search "Swift Weather", I got an email from Swift Weather Company's lawyer to ask me to change the name because they said they are the owner of U.S. Trademark SWIFT WEATHER. After discussed with them, they were not happy with the name SwiftyWeather. Now the new project name is Swift Language Weather. More details can be found on Issue: Open source project using a registered trademark.

Swift Language Weather is an iOS weather app developed in Swift 4. 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 Xcode 9.1 (9B55). If you are using different Xcode version, please check out the previous releases.

Version 4

This version has been upgraded to support iOS 10+ only using Swift 4.

There is three major version of 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.
  • V3.0 - Support iOS 9+ and Swift 3.

Screenshots

Features

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 - We use Protocol-Oriented Programming in IBAnimatable open source project.
  • Value-based programming - Use immutable value anywhere.
  • Icon fonts - Use Weather Icons
  • SwiftyJSON
  • Core Location
  • App indexing like CoreSpotlight and NSUserActivity
  • Unit Tests
  • UI Tests
  • Animations

How to build

  1. Clone the repository
$ git clone https://github.com/JakeLin/SwiftLanguageWeather.git
  1. Install pods
$ cd SwiftLanguageWeather
$ pod install
  1. Open the workspace in Xcode
$ open "SwiftWeather.xcworkspace"
  1. Sign up on openweathermap.org/appid to get an appid
.access_tokens/openweathermap">
$ 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 9
  • iOS 10+
  • Swift 4
Comments
  • build failed ):

    build failed ):

    2015-03-20 11 09 26

    Error Domain=com.apple.dt.IDESourceControlErrorDomain Code=-1 "Missing extension: public.vcs.subversion" UserInfo=0x7ff7e3e702e0 {NSLocalizedDescription=Missing extension: public.vcs.subversion} Object: <IDESourceControlManager: 0x7ff7e3d84330> Method: -loadRepositories Thread: <NSThread: 0x7ff7e1435b60>{number = 1, name = main}

    opened by kunggea 17
  • how to compile pods_SwiftWeather.framework

    how to compile pods_SwiftWeather.framework

    Can you provide some instructions on how to compile and import Pods_SwiftWeather.framework? pod install generated the pod project, but it does not appear to be able to build into any target in XCode 7.

    opened by kktam 16
  • Building project failed

    Building project failed

    I followed the instruction to build to project. However, in the Carthage/build/ios folder, there is only the alamofire.framework but the swfityJSON is missing.

    opened by ansonyao 11
  • Compilation error - AFHTTPRequestOperationManager()

    Compilation error - AFHTTPRequestOperationManager()

    Hey there,

    Trying to build this in Xcode 6 Beta 2; I get a few instances of this:

    SwiftWeather/Swift Weather/ViewController.swift:51:23: Use of unresolved identifier 'AFHTTPRequestOperationManager'

    Am I doing something bone-headed or have I stumbled across a problem here?

    opened by davidjpeacock 11
  • Carthage build fails

    Carthage build fails

    Hi,

    I just tried to build your project with Carthage, but I can't go around the issue that Alamofire fails to build due to dependencies. Would you know what is wrong here?

    Thanks in advance, Tiago

    xyz:~/Developer/Swift Projects/SwiftWeather-master$ carthage build
    *** xcodebuild output can be found in /var/folders/_x/721jc7bj30xfpwf7zn_4sq900000gn/T/carthage-   xcodebuild.UNMFDA.log
    *** Building scheme "Alamofire iOS" in Alamofire.xcworkspace
    ** BUILD FAILED **
    
    
    The following build commands failed:
        Check dependencies
    (1 failure)
    
    opened by tiagovdot 8
  • carthage build faild for segmentation fault 11

    carthage build faild for segmentation fault 11

    *** Fetching SwiftyJSON
    *** Fetching Alamofire
    *** Checking out Alamofire at "1.2.2"
    *** Checking out SwiftyJSON at "2.2.0"
    *** xcodebuild output can be found in /var/folders/fz/rlgkcxdn54gcf9lj6t7jf3gm0000gn/T/carthage-xcodebuild.rCGG7b.log
    *** Building scheme "Alamofire iOS" in Alamofire.xcworkspace
    A shell task failed with exit code 65
    Segmentation fault: 11
    

    Xcode Version 6.3.2 (6D2105) carthage version 0.7.3

    opened by flybikeGx 7
  • Fuzzy about the function in Observable.swift

    Fuzzy about the function in Observable.swift

    Thanks for your time!This project is really awesome!I dont understand the whole meaning of funcs in Observerable.swift,Could you please convert it into some Objective-C style funcs?Many thanks

    opened by nice2m 5
  • "Swift Weather Instant" Widget and App Icon

    Hi Jake Lin,

    I just implemented the widget. The code for the widget is all separate in its own target "SwiftWeatherInstant". I also designed an Icon and put it in there, let me know if you like it or if you want to change it up a little etc. I can also send you the original file if you want to make some tweaks. I added a screenshot of how the widget looks in action ;) photo 13-12-14 07 38 40

    cheers,

    Marc

    PS: If you also need all those functions from the main app in your project with the apple smartwatch then it may be good if we created a framework for getting the weather data in the future. The only problem with the framework idea is that you cant import AFNetworking into a new framework. Let me know what you think :)

    opened by wozuo 5
  • Feature Request

    Feature Request

    Hi Jake Lin,

    Great app! Is it possible to help working in this project? I would like to add a forecast feature and a forecast widget in the notification center. May I fork the project and then make a pull request when I implemented the stuff?

    kind regards,

    Marc

    opened by wozuo 5
  • Saulurias fixment

    Saulurias fixment

    Description

    I have refactored WeatherViewController, because there was too much code on the viewDidLoad and viewWillAppear functions, that's a bad practice.

    I have fixed a Unit Test on ForecastDateTimeSpec

    I have updated the pods

    Now users can share the weather on facebook, added this feature because I really wanted to know how Facebook API works :) https://imgur.com/a/ex96mox

    opened by saulurias 4
  • Fixes AutoLayout issues for smaller screens

    Fixes AutoLayout issues for smaller screens

    • Added constraints to allow for a 7p gap on either side of the forecast stack view
    • Added shrinking font capabilities for temperature label in forecast view
    • Relaxed bottom constraints for forecast view to 30 >= x <=60 so the iPhone 5s will have space without overlapping with time
    opened by drfear 4
  • code signing fails with shell script error

    code signing fails with shell script error

    mkdir -p /Users/admin/Library/Developer/Xcode/DerivedData/SwiftWeather-alwclfhptqhdecgwwmjsnbhkpwzh/Build/Products/Debug-iphoneos/SwiftWeather.app/Frameworks rsync --delete -av --filter P .*.?????? --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "/Users/admin/Library/Developer/Xcode/DerivedData/SwiftWeather-alwclfhptqhdecgwwmjsnbhkpwzh/Build/Products/Debug-iphoneos/SwiftyJSON/SwiftyJSON.framework" "/Users/admin/Library/Developer/Xcode/DerivedData/SwiftWeather-alwclfhptqhdecgwwmjsnbhkpwzh/Build/Products/Debug-iphoneos/SwiftWeather.app/Frameworks" building file list ... done SwiftyJSON.framework/ SwiftyJSON.framework/Info.plist SwiftyJSON.framework/SwiftyJSON

    sent 408334 bytes received 70 bytes 816808.00 bytes/sec total size is 408046 speedup is 1.00 Code Signing /Users/admin/Library/Developer/Xcode/DerivedData/SwiftWeather-alwclfhptqhdecgwwmjsnbhkpwzh/Build/Products/Debug-iphoneos/SwiftWeather.app/Frameworks/SwiftyJSON.framework with Identity iPhone Developer: Shekhar Dhotre (4HB6BX3A7J) /usr/bin/codesign --force --sign A2213B378436E8FFE12E0DFF41B91353E3D57E9A --preserve-metadata=identifier,entitlements '/Users/admin/Library/Developer/Xcode/DerivedData/SwiftWeather-alwclfhptqhdecgwwmjsnbhkpwzh/Build/Products/Debug-iphoneos/SwiftWeather.app/Frameworks/SwiftyJSON.framework' /Users/admin/Library/Developer/Xcode/DerivedData/SwiftWeather-alwclfhptqhdecgwwmjsnbhkpwzh/Build/Products/Debug-iphoneos/SwiftWeather.app/Frameworks/SwiftyJSON.framework: unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1

    opened by neeld2025 2
  • requestWhenInUseAuthorization issue

    requestWhenInUseAuthorization issue

    When stopped at the interface asking for WhenInUseAuthorization long enough, the app will not work until relaunch. I think the problem is caused by this func in LocationService.swift:

    func requestLocation() {
        locationManager.requestWhenInUseAuthorization()
        locationManager.requestLocation()
      }
    
    
    opened by woyeyaowyy 2
  • Open source project using a registered trademark

    Open source project using a registered trademark

    I received an email from Swift Weather Company. They said they are the owner of U.S. Trademark Registration No. 4175355 for the mark SWIFT WEATHER. And the open source project is in direct conflict with their federal trademark rights. They requested me to change the name of this application and refrain from further use of their mark for any purpose thereafter.

    I don't earn any money from this project (even one cent😅). I am seeking advice to handle this issue. I have some potential ideas as below:

    1. Modify the README.md file to add some description of Swift Weather Company. Some of the open source projects have sponsors in their README.md. We can do something similar but without charging Swift Weather Company. That can help Swift Weather Company attract more user to use their services.
    2. Rename the project. Because there are some external links to the current project from other GitHub projects, blog posts etc. It may cause some problem with the redirection. If we need to rename the project, there some options:
      • SwiftWeatherApp: I am not sure is it same as the current project name SwiftWeather because it still has SwiftWeather within the name.
      • SwiftiOSWeather: It is a little bit weird for me by adding iOS in between. But that should be different from the SWIFT WEATHER trademark.
      • Any better name?

    I prefer the first option but am seeking more advice to create a win-win situation.

    opened by JakeLin 11
  • iPhone < 5s temperature overlap

    iPhone < 5s temperature overlap

    If you have temperature in F and use iPhone 5 or 4s, in portrait mode temperature is partially cut.

    you might set minimum font size to scale down temperature label a bit

    minimumFontSize="18" do the job

    opened by travelerspb 1
Releases(V4.0)
Owner
Jake Lin
Dad of 👶 & 👦, iOS & Android dev and Senior Mobile Tech Lead @ REA. Passionate about design, animation, kid coding and ₿. Make @IBAnimatable and SwiftWeather.
Jake Lin
CZWeatherKit is a simple, extensible weather library for iOS, tvOS, and OS X that allows for easy fetching of weather data from various weather services.

CZWeatherKit is a simple, extensible weather library for iOS, tvOS, and OS X that allows for easy fetching of weather data from various weather services.

Comyar 455 Nov 20, 2022
Weather - Use Open weather APIs to fetch live weather data

Weather ??️ Use Open weather APIs to fetch live weather data Use Core Location p

Vicky Lee 2 Jun 3, 2022
A weather app developed in React Native. It is the React Native version of SwiftWeather.

ReactNativeWeather A weather app developed in React Native. It is the React Native version of SwiftWeather How to run the app Install react-native If

Jake Lin 22 Jun 7, 2022
Ios-weather-app - A simple weather app with swift

AHOY Assignment Weather app Main Screen Settings Architecture The Architecture u

null 0 Jan 29, 2022
Weather-app - Created a simple weather app on Xcode using SwiftUI, only shows one location

weather-app Created a simple weather app on Xcode using SwiftUI, only shows one

Rahul Kadiyala 1 Feb 11, 2022
A Simple Weather App Using the Open Weather Map api

The Weather, a Simple Weather App Using the Open Weather Map api. This app demos use of the Open Weather Map api. The UI is simple, with views of the

null 1 Feb 17, 2022
A SwiftUI Weather App powered by World Weather Online API

SwiftUI-Weather The SwiftUI Weather app, allow users get the current weather for a particular locatio and view a 5-day weather forecast for the select

Dionysis Karatzas 6 Sep 29, 2022
Simple Weather app to display future weather of 3 cities

WeatherApp Simple Weather app to display future weather of 3 cities Test project for a small weather application Overview For the test project a small

null 0 Nov 28, 2021
Weather forecast app that allows the user to either look for weather at their current location based on the GPS data or search for another city manually.

⛅️ Cloudy Weather forecast app that allows the user to either look for weather at their current location based on the GPS data or search for another c

Burhan 0 Nov 7, 2021
WeatherApp - A simple weather app utilizing Google Places API for search and OpenWeather for weather data

Swift Weather App About A simple weather app utilizing Google Places API for sea

null 0 Jan 5, 2022
LiveWeatherApp - Live Weather App - Displays Live Weather Data with OpenWeather API

Live Weather App - Displays Live Weather Data with OpenWeather API Learned about

Matt Wong 1 Feb 5, 2022
This To-Do app was developed using Swift and SwiftUI and works on iOS, MacOS (Apple Silicon) and WatchOS. The tasks are kept on storage even when the app is restarted.

ToDo-SwiftUI This app has a lot of sentimental value for me, given that it helped me a lot to understand the process of doing an iOS app and became th

Augusto Galindo Ali 6 Jul 12, 2022
A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories.

A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories. The app is simple, intuitive, and easy to use and update tasks informations.

null 1 Oct 10, 2022
Lentit iOS app developed in Swift with SwiftUI using MVVM design pattern

Lentit Track things you lend with Lentit Features 100% Swift 100% SwiftUI MVVM d

W1W1-M 2 Jun 26, 2022
IOS e-commerce app developed using MVVM architecture with Swift UI

IOS e-commerce app developed using MVVM architecture with Swift UI.

wykee2 1 Apr 2, 2022
AllAboutTheWord - A single screen iOS app developed using swiftUI

All-About-The-Word Introduction This is a single screen iOS app developed using

null 7 Dec 22, 2022
An iOS app developed for FOSSASIA in mind

This is an iOS app developed for FOSSASIA in mind. The Open Event Project offers event managers a platform to organize all kinds of events including concerts, conferences, summits and regular meetups.

FOSSASIA 1.6k Jan 5, 2023
A Simple ToDo app developed using SwiftUI, Combine and Coredata

SwiftUI_Tasks Tasks is simple ToDo app developed using SwiftUI and Coredata which having features like Add,Delete,Rearrange and send notification base

Shankar Madeshvaran 77 Dec 18, 2022
null 1 Jan 27, 2022