|
| 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.3 (6D570) and Version 6.3.1 (6D1002), I have been updating the app to support the lastest version of Xcode, 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 |
| 10 | +This is version 2. I have ugraded the entire project to use [Carthage](https://github.com/Carthage/Carthage), [Alamofire](https://github.com/Alamofire/Alamofire) and [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON). And the app can only support iOS8+, if you want to support iOS7 or use CocoaPods and AFNetworking. Please have a look at [README.v1.md](https://github.com/JakeLin/SwiftWeather/blob/master/README.v1.md) and Release [Using Cocoapods and AFNetworking](https://github.com/JakeLin/SwiftWeather/releases/tag/V1). Happy coding. |
| 11 | + |
| 12 | +## Screenshots |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | +## Used features |
| 21 | +* Swift Programming Language |
| 22 | +* [Carthage](https://github.com/Carthage/Carthage) |
| 23 | +* [Alamofire](https://github.com/Alamofire/Alamofire) |
| 24 | +* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) |
| 25 | +* Core Location |
| 26 | +* Using Framework to share code between targets(app and widget). |
| 27 | + |
| 28 | + |
| 29 | +## Known issues |
| 30 | +Because we are using [Carthage](https://github.com/Carthage/Carthage) to build the third party packages. There are some build warings like `ld: warning: linking against dylib not safe for use in application extensions: /Build/Products/Debug-iphoneos/Alamofire.framework/Alamofire` |
| 31 | + |
| 32 | +## How to build |
| 33 | +Because the app uses carthage, we need to install carthage. To install the carthage tool on your system, please download and run the Carthage.pkg file for the latest [release](https://github.com/Carthage/Carthage/releases), then follow the on-screen instructions.. |
| 34 | + |
| 35 | +1. Open Terminal app. |
| 36 | +2. Change directory to the project folder. `cd $project_dir` |
| 37 | +3. Use `ls` to list all the file to check whether *Cartfile* file is in the folder? |
| 38 | +4. If the *Cartfile* has been found, then execute `carthage update`.This will fetch dependencies into a Carthage/Checkouts folder, then build each one. |
| 39 | +5. On your application targets’ “General” settings tab, in the “Linked Frameworks and Libraries” section, drag and drop each framework you want to use from the Carthage/Build folder on disk. In our project, which are `Alamofire` and `SwiftyJSON` |
| 40 | +7. Press *Cmd + B* to build the app. |
| 41 | +8. Press *Cmd + R* to run the app on Simulator. |
| 42 | + |
| 43 | +## Credits |
| 44 | +* Thanks to [johnsonjake](https://github.com/johnsonjake) for adding iOS 8 support and improving the UI/UX. |
| 45 | +* Thanks to [Marc](https://github.com/gizmou) for adding forcast feature, widget and app icon. |
0 commit comments