Skip to content

Commit 52033bc

Browse files
committed
Merge pull request #30 from JakeLin/xcode7
Rewrite to support iOS 9 and Swift 2
2 parents 30cd7e8 + b98f7ce commit 52033bc

File tree

114 files changed

+2259
-2687
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+2259
-2687
lines changed

Alamofire

Submodule Alamofire deleted from cf8127a

Design/SwiftWeather.sketch

3.76 MB
Binary file not shown.

Design/background.png

2.03 MB
Loading

Podfile

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
platform :ios, '9.0'
2+
use_frameworks!
3+
4+
target 'SwiftWeather' do
5+
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
6+
end

Podfile.lock

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
PODS:
2+
- SwiftyJSON (2.2.1)
3+
4+
DEPENDENCIES:
5+
- SwiftyJSON (from `https://github.com/SwiftyJSON/SwiftyJSON.git`, branch `xcode7`)
6+
7+
EXTERNAL SOURCES:
8+
SwiftyJSON:
9+
:branch: xcode7
10+
:git: https://github.com/SwiftyJSON/SwiftyJSON.git
11+
12+
CHECKOUT OPTIONS:
13+
SwiftyJSON:
14+
:commit: f269523ac572979245baa99c8475eab73caf1e9b
15+
:git: https://github.com/SwiftyJSON/SwiftyJSON.git
16+
17+
SPEC CHECKSUMS:
18+
SwiftyJSON: ae2d0a3d68025d136602a33c4ee215091ced3e33
19+
20+
COCOAPODS: 0.38.2

README.md

+24-27
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,64 @@
11
Swift Weather
22
============
33

4-
SwiftWeather is an iOS weather app developed in Swift language. The app can support iPhone 4(s), iPhone 5(s), iPhone 6 and iPhone 6 Plus. The app also supports Today Widgets.
4+
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.
55

66
## Notices
7-
The current version is working with Xcode Version 6.4 (6E35b). If you have any issue, please check the Xcode version. If there is still a problem with the supported versions, please raise an issue, thanks.
7+
The current version is working with Xcode Version 7. If you are using different Xcode version, please check out the previous versions.
88

9-
If you are working on Swift 2 and Xcode 7, please checkout [xcode7 branch](https://github.com/JakeLin/SwiftWeather/tree/xcode7).
10-
11-
## Version 2.1
12-
This is version 2.1. I have removed Carthage because some developers don't have a paid Apple iOS developer account and they have issues to build Carthage packages.
9+
## Version 3
10+
This version has been upgraded to support iOS 9 only using Swift 2.
1311

1412
There are two major version for the app released before.
1513

1614
* V1.0 - Support iOS 7+ using CocoaPods and AFNetworking. [README.v1.md](https://github.com/JakeLin/SwiftWeather/blob/master/README.v1.md) and [Release V1 - Using Cocoapods and AFNetworking](https://github.com/JakeLin/SwiftWeather/releases/tag/V1)
1715
* V2.0 - Support iOS 8+ using Carthage, Alamofire and SwiftyJSON. [README.v2.md](https://github.com/JakeLin/SwiftWeather/blob/master/README.v2.md) and [Release V2.0](https://github.com/JakeLin/SwiftWeather/releases/tag/v2.0)
16+
* 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.
1817

19-
V2.1 will be the last version support iOS 8. I am working on Xcode 7 to support iOS 9 only features like `UIStackView`. Happy coding.
2018

2119
## Screenshots
22-
![Loading](https://raw.githubusercontent.com/JakeLin/SwiftWeather/master/screenshots/loading-33.png)
23-
24-
![Loading](https://raw.githubusercontent.com/JakeLin/SwiftWeather/master/screenshots/6-Today-smallsize.png)
2520

26-
![Swift Weather](https://raw.githubusercontent.com/JakeLin/SwiftWeather/master/screenshots/6-smallsize.png)
2721

28-
29-
## Used features
30-
* Swift Programming Language
31-
* [Alamofire](https://github.com/Alamofire/Alamofire)
22+
## Features
23+
* Swift Programming Language - fully upgraded to 2
24+
* MVVM - Reactively update `ViewController` UI from `ViewModel`
25+
* `@IBDesignable` and `@IBInspectable` - Reusable UI components
26+
* Size Classes - Support different devices with adpative layout
27+
* Protocal oriented programming - Still learning though and finding the best practise of that.
28+
* Value based programming - Use imutable value anywhere.
29+
* Icon fonts
3230
* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON)
3331
* Core Location
34-
* Using Framework to share code between targets(app and widget).
3532

33+
## TODO
34+
* App indexing like CoreSpotlight ans `NSUserActivity`
35+
* Unit Tests
36+
* UI Tests
37+
* Animations
3638

3739
## How to build
3840

39-
1) Download the repository
41+
1) Clone the repository
4042

4143
```
4244
$ git clone https://github.com/JakeLin/SwiftWeather.git
4345
$ cd SwiftWeather
4446
```
4547

46-
2) Initialize submodule dependancies
48+
2) Install pods
4749

4850
```
49-
$ git submodule update --init --recursive
51+
$ pod install
5052
```
5153

52-
3) Open the project in Xcode
54+
3) Open the workspace in Xcode
5355

5456
```
55-
$ open "Swift Weather.xcodeproj"
57+
$ open "SwiftWeather.xcworkspace"
5658
```
5759

5860
4) Compile and run the app in your simulator
5961

6062
# Requirements
6163

62-
- Xcode 6.4
63-
- iOS 8
64-
65-
## Credits
66-
* Thanks to [johnsonjake](https://github.com/johnsonjake) for adding iOS 8 support and improving the UI/UX.
67-
* Thanks to [Marc](https://github.com/gizmou) for adding forcast feature, widget and app icon.
64+
* Xcode 7-* iOS 9

README.v2.1.md

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Swift Weather
2+
============
3+
4+
SwiftWeather is an iOS weather app developed in Swift language. The app can support iPhone 4(s), iPhone 5(s), iPhone 6 and iPhone 6 Plus. The app also supports Today Widgets.
5+
6+
## Notices
7+
The current version is working with Xcode Version 6.4 (6E35b). If you have any issue, please check the Xcode version. If there is still a problem with the supported versions, please raise an issue, thanks.
8+
9+
## Version 2.1
10+
This is version 2.1. I have removed Carthage because some developers don't have a paid Apple iOS developer account and they have issues to build Carthage packages.
11+
12+
There are two major version for the app released before.
13+
14+
* V1.0 - Support iOS 7+ using CocoaPods and AFNetworking. [README.v1.md](https://github.com/JakeLin/SwiftWeather/blob/master/README.v1.md) and [Release V1 - Using Cocoapods and AFNetworking](https://github.com/JakeLin/SwiftWeather/releases/tag/V1)
15+
* V2.0 - Support iOS 8+ using Carthage, Alamofire and SwiftyJSON. [README.v2.md](https://github.com/JakeLin/SwiftWeather/blob/master/README.v2.md) and [Release V2.0](https://github.com/JakeLin/SwiftWeather/releases/tag/v2.0)*
16+
17+
V2.1 will be the last version support iOS 8. I am working on Xcode 7 to support iOS 9 only features like `UIStackView`. Happy coding.
18+
19+
## Screenshots
20+
![Loading](https://raw.githubusercontent.com/JakeLin/SwiftWeather/master/screenshots/loading-33.png)
21+
22+
![Loading](https://raw.githubusercontent.com/JakeLin/SwiftWeather/master/screenshots/6-Today-smallsize.png)
23+
24+
![Swift Weather](https://raw.githubusercontent.com/JakeLin/SwiftWeather/master/screenshots/6-smallsize.png)
25+
26+
27+
## Used features
28+
* Swift Programming Language
29+
* [Alamofire](https://github.com/Alamofire/Alamofire)
30+
* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON)
31+
* Core Location
32+
* Using Framework to share code between targets(app and widget).
33+
34+
35+
## How to build
36+
37+
1) Download the repository
38+
39+
```
40+
$ git clone https://github.com/JakeLin/SwiftWeather.git
41+
$ cd SwiftWeather
42+
```
43+
44+
2) Initialize submodule dependancies
45+
46+
```
47+
$ git submodule update --init --recursive
48+
```
49+
50+
3) Open the project in Xcode
51+
52+
```
53+
$ open "Swift Weather.xcodeproj"
54+
```
55+
56+
4) Compile and run the app in your simulator
57+
58+
# Requirements
59+
60+
- Xcode 6.4
61+
- iOS 8
62+
63+
## Credits
64+
* Thanks to [johnsonjake](https://github.com/johnsonjake) for adding iOS 8 support and improving the UI/UX.
65+
* Thanks to [Marc](https://github.com/gizmou) for adding forcast feature, widget and app icon.

Swift Weather Instant/Info.plist

-33
This file was deleted.

0 commit comments

Comments
 (0)