Learn Swift interactively on your iPhone.
Unwrap is an app that helps you learn Swift faster and more effectively.
At its core lies almost 100 video lessons that teach all the fundamentals of the Swift programming language, with each lesson backed up by an interactive review.
Once you’ve made some progress learning, you can dive into a selection of practice activities that make you write code by tapping, dragging, or typing, find errors, predict program output, and more. There are also daily challenges that test your overall language knowledge once per day, helping your new skills really sink in.
Unwrap app is available to download for free on the App Store. I’ve made the code available so that anyone who wants to can see how I structure my code and perhaps learn from it. If you’d like to help you’re most welcome to and there are many opportunities, but make sure you read the contribution guidelines first.
Unwrap is written using Xcode 10.2 and Swift 5.0. All the CocoaPods are checked in to this repository, so you should be able to clone this and build it immediately by opening Unwrap.xcworkspace
.
As far as I know the app is feature complete, but there are likely to be errors all over the place at least to begin with – if you hit problems, either building or running the app, please let me know.
Any help you can offer with this project is most welcome, and trust me: there are opportunities big and small, so that someone with only a few weeks of Swift experience can help.
However, before you start please read the LICENSE.md and CONTRIBUTING.md files. Although all the source code of Unwrap is available under the MIT license, the assets are not redistributable – please see the license for more detail.
If you’d like to help, here are some suggestions ordered from most easy to most difficult. I’ve added documentation to most if not all of the code, but there’s also a separate document in this repository called CONTRIBUTING.md that documents how the code is structured and how it works.
Again, please make sure you read the LICENSE.md and CONTRIBUTING.md files before you start just to avoid problems.
Unwrap was designed and built by Paul Hudson. Hacking with Swift, Swift in Sixty Seconds, Unwrap, and the Unwrap logo are all copyright © Paul Hudson 2019.
Unwrap is built using some third-party frameworks and fonts: DZNEmptyDataSet, Font Awesome, MKRingProgressView, QuickLayout, SDWebImage, Sourceful, Zephyr, and SwiftEntryKit. Their licenses are stored inside their respective Pods directories, and are repeated inside the app’s credits screen.
Swift, the Swift logo, Xcode, Instruments, Cocoa Touch, Touch ID, AirDrop, iBeacon, iPhone, iPad, Safari, App Store, watchOS, tvOS, Mac and macOS are trademarks of Apple Inc., registered in the U.S. and other countries.
Unwrap includes an iMessage sticker pack that incorporates a variety of logos from around the Swift community – these are used with permission, and we're grateful to each person or project for granting that permission:
If you liked Unwrap and want more like it, I have a whole website full of free Swift tutorials.