Hacking with Swift+ is a subscription service that delivers incredible, hands-on Swift tutorials, so you can deepen your understanding of Swift, SwiftUI, UIKit, and more, and take your career to the next level.
HWS+ costs just $20/month or $200/year, and every article includes 4K Ultra HD video.
Once you've subscribed for 18 months, you get free online access to over a dozen of my books to expand your learning even further, including:
This means your subscription grows as you do, making Hacking with Swift+ the largest and most comprehensive membership around.
Here's a sample of what's inside – play the videos right here, or click through to read the article instead.
PLUS: A huge and growing collection of solutions for challenges in the 100 Days of SwiftUI and elsewhere, a complete archive of HWS+ live streams, access to videos from Hacking with Swift Live 2020.
Even more courses are on the way: debugging, testing, and of course lots more SwiftUI – I have an epic collection of tutorials coming, and I can’t wait to share them all with you.
Your Hacking with Swift+ membership gets you every subscriber-only article and video published now and in the future, plus an incredible amount of extras!
Every subscriber gets immediate access to the full range amazing tutorials written for Hacking with Swift+ subscribers, plus the ad-free browsing experience, downloadable projects, monthly live streams, private forum access, and more.
But above and beyond all that you'll also receive exclusive subscriber-only thank you gifts every year – it's the least I can do to show how grateful I am that you're supporting my work.
This has some important terms and conditions, so please read the following carefully!
Start your HWS+ subscription today and start learning immediately, plus get access to the private members forum, enjoy ad-free site browsing, join my monthly live streams, and more.
$20 / month
$200 / year
If you're not sure whether HWS+ is right for you, you can try a free three-day trial – no payment or credit card needed.
To subscribe or start a free trial, please click the button below to sign in to Hacking with Swift.
Does this subscription give me all your books?
The articles produced for Hacking with Swift+ are all new and exclusive to subscribers, but after subscribing for 18 months you'll also gain free online access to over a dozen of my books. This means your subscription grows as you do, making Hacking with Swift+ the largest and most comprehensive subscription around.
What are the free gifts?
Each year of your subscription we'll mail out free gifts, as a thank you for supporting the site. These include pin metal badges, magnets, stickers, coasters, and more – we think you'll love them! If you take out an annual subscription, we send out your first year's gifts immediately.
What happens in the monthly live streams?
Every Hacking with Swift+ subscriber is invited to join my private monthly live streams on YouTube, where I build a complete app from scratch while answering questions along the way. This is your chance to get involved and explore projects being written live, and these streams are always hugely popular.
What happens if I miss a live stream?
All live streams are recorded, and posted onto the main Hacking with Swift+ site afterwards. Even better, they include a full transcript alongside, so if you prefer text tutorials to video tutorials you have that option.
How do I remove adverts from the site?
Every subscriber can enjoy an ad-free experience on Hacking with Swift – all you need to do is log in, and the site will automatically remove the adverts. To give you the fastest reading experience, we also remove the gray bar under the menu, plus the right-hand bar that sits next to every article.
Is Hacking with Swift+ suitable for absolute beginners?
If you're an absolute beginner you should start with my free 100 Days of SwiftUI course, which teaches you the fundamentals of Swift and SwiftUI. However, Hacking with Swift+ includes complete solutions to all the checkpoints and milestones in the 100 Days of SwiftUI series, making it the perfect companion as you're learning.
What's more, Hacking with Swift+ will grow with you once you've finished learning – it has a wide range of intermediate to advanced Swift techniques and tutorials that will keep pushing your skills further, no matter what your goal.
Some sites claim to have thousands of videos – why is HWS+ better?
Hacking with Swift+ focuses firmly on two things:
How much does it cost?
Hacking with Swift+ costs $20 a month or $200 a year. Your membership includes all subscriber-only videos and articles available now and published in the future, for as long as your membership remains active. You can cancel your membership at any time, and your access will continue until your term ends.
What's the difference between Monthly and Yearly subscriptions?
Hacking with Swift+ is $20 per month, and you can cancel whenever you want. If you intend to work through many articles and really push your learning forward, you should consider the yearly subscription option, which is $200 for 12 months – a saving of $40.
Both tiers get access to exactly the same high-quality videos, articles, and source code. The only difference is that with the Yearly tier you save $40 every year, making it better value for money.
Are there exercises?
Yes! Many Hacking with Swift+ articles end with challenges to help you take your learning further – code to try, problems to solve, questions to consider, and more.
Why do I need a Hacking with Swift account?
Your Hacking with Swift account links your Gumroad purchase to this site, so we can unlock your subscription. This account also allows you to post to the forums if you want to.
Can I switch from a Monthly to Yearly subscription?
Yes, you can upgrade at any time, and we'll discount the annual subscription based on how much of your monthly subscription remains.
How can I cancel my subscription?
If at any point you want to cancel your Hacking with Swift+ subscription, you can do so directly through your Gumroad account. Your access to the subscriber-only content will remain active until your subscription term ends, at which point it will cease.
Will there be sales tax or VAT added to the price?
If you live in a country or state where tax is applied to digital purchases, that will be added to your subscription price. As you might imagine there isn't a lot I can do about that.
Will you still make free tutorials?
Yes, absolutely! I believe it's important to help everyone learn, so I will still be publishing as many free tutorials as I can. This won't be affected by Hacking with Swift+.
This challenge asks you to figure out a modifier conundrum, show alerts for authentication errors, and create a view model for
EditView. Let’s tackle it now…
This challenge asks you to adjust
FilteredList in three ways: make it accept a string predicate, make it accept an enum predicate, then make it accept an array of sort descriptors for the managed object it uses. Let’s tackle it now…
Parsing data into your app is the single most common task any iOS developer needs to do, so in this article we’ll start to build out an Awards tab using JSON.
In previous tests we relied upon our sample data creating 5 projects and 50 items, but that isn’t set in stone right now – it’s an implementation detail, meaning that it’s a behavior that happens to be the case but isn’t explicitly guaranteed. This is a common cause of bugs, so in this article we’re going to write tests for our development code, and along the way discover and resolve some interesting quirks…
In this article we’re going to build a small macOS menu bar app that acts as a tiny calendar: it tells the user what events are in their calendar for today, tomorrow, and later in the week.
This challenge asks you to make sure all book data is provided, to highlight bad books somehow, and to show a date for when each book was read. Let’s tackle it now…
Arrays and sets have their own advantages and disadvantages, but what if we could combine them both to make an ordered set? We can! And in this article that’s exactly what we’ll do.
In a previous article I showed you a smart, simple and safe way of fetching data from the internet using Combine. This article I want to look at how to handle multiple network requests safely, ensuring that both complete before you update your user interface.
To celebrate the 1-year anniversary of Hacking with Swift+, here is a collection of times my dogs were convinced they were the real stars of the show. I’ve uncropped my webcam for maximum dog action!
In this article we’re going to build a tool aids in the decryption of popular ciphers, including Caesar shift, columnar transposition, and Vigenère – all while leaning heavily on Apple’s Swift Algorithms package.
In this article we’re going to look at how to rebuild the Tips app using SwiftUI, including how to make scrolling tabs of content, how to get a parallax scrolling effect, and more.
At this point we have something very simple working, so now is a great time to stash your code away somewhere safe using source control. If you already know how to use Git then you’re welcome to skip this part.
In this part we’re going to wrap up our look at the new
UICollectionView features, then move on to exploring the new
UIAction and menu systems for buttons and more.
This challenge asks you to upgrade the form validation, add a user-facing error, then switch our data model over to be a struct rather than a class. But rather than just leave it there, I’m going to sneak in a little bonus about Swift keypaths – let’s tackle it now…
Now that you understand the basics of task groups, we can start to look at handling cancellation, but also looking at making task groups where each task returns a different kind of data.
In this article we’re going to build two simple SwiftUI projects back to back, as part of a new initiative to create easily accessible sample projects for learners.
So far our home view has simply been a host for adding test data, but that changes now: we’re going to make the home view a summary of all their project progress, plus the most important items coming up next.
I’ve had a whole bunch more questions sent in from readers, covering Core Data, property wrappers, localization, and more, so let’s dive into them with some code examples.
This challenge asks you to disallow certain words, let users start a new game whenever they want, and also track player scores. Let’s tackle it now…
This challenge asks you to add three different animations to the Guess the Flag game from project 2: spinning, fading, and one of your choosing. Let’s tackle it now…
Link copied to your pasteboard.