Join over 100,000 readers today
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.
Already a subscriber? Log in here
Once you've subscribed for 18 months, you get immediate access to the Swift Career Accelerator curriculum, which is the world's largest collection of tutorials for Swift developers at every level.
This takes tutorials from across all my books, mixes them with a collection of all-new workshops, then divides them into distinct levels based on where you are – from getting your first job to stepping into software leadership, the Swift Career Accelerator has you covered.
You also gain 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.
Note: If you're using team licensing with at least three seats, you gain access to both the Swift Career Accelerator and the online reading library immediately rather than waiting 18 months.
Or start a free trial
filter(), map(), and reduce().UserDefaults and Measurement.PLUS: A huge collection of solutions for challenges in the 100 Days of SwiftUI and elsewhere, a complete archive of HWS+ live streams, a free ticket to my Unwrap Live every year, and more.
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.
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
$400 / 2-year
Take out a 2-year subscription to gain immediate access to the Swift Career Accelerator and online reading library!
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.
Create New Account
Or click here to log in with an existing account
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.
Can I share one account with my whole team?
No, this is not allowed – each member of your team needs their own subscription, just like they would need their own Netflix or Apple Music accounts. If you want your whole team to have a Hacking with Swift+ account, please change the number of licensed seats upwards from 1 when subscribing.
How is a team subscription different from an individual subscription?
When you subscribe with at least three seats, all members of your team gain immediate access to the Hacking with Swift reading library, rather than waiting 18 months – that's over a dozen of my books to maximise your team's learning.
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, $200 a year, or $400 every 2 years, per person. 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 or 2-yearly subscription options, which are $200/year or $400/2-years – a saving of $40 every year.
All tiers get access to exactly the same high-quality videos, articles, and source code, but with a 2-year subscription you gain immediate access to the complete Swift Career Accelerator and online reading library.
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.
Your Hacking with Swift+ subscription will renew until cancelled. If you intend to cancel, please sure you do so through Gumroad at least 24 hours before your subscription ends, to avoid being caught out by time zones.
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+.
Or start a free trial
This question is really trying to get a grip on your knowledge of functional programming, without getting into the murkier territory of functors, monads, and category theory.
In this stream we're going to build an app that visualizes sorting algorithms, to help learners understand how they work. This requires some algorithm coding wrapped up in a surprisingly small amount of SwiftUI, so let's get to it!
Everything we’ve done so far has produced a serviceable app, although in the future we’ll add a lot more functionality and cross-platform support. But before we get near to those, I want to change gear and focus on making our existing code better. This is where the real work begins!
In previous tests we relied upon our sample data creating 5 tags and 50 issues, 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!
Checkpoint 7 of Swift for Complete Beginners asks you to create a class hierarchy to store various types of animals, including properties, methods, and initializers. Let’s solve that now…
In this project we’re going to build a complete Reversi game with SwiftUI, including a strong AI opponent powered by Apple’s GameplayKit. It will look great and play great, and it’s easier to implement than you might think!
Swift loves value types because they are fast and light, but so much of our work builds on older APIs powered by UIKit and other Objective-C APIs, where it's easy to hit memory problems. Let's look at a smart solution, and how it also impacts modern frameworks like SwiftData…
There are lots of UI mistakes we can make in programming, but unless our bugs actually get in the way of functionality most users don’t care that much. But there is one exception, and we’re going to look at it here: in this article I’ll show you how to handle names correctly – the most personal data of all.
Welcome to Unwrap Live 2024! This is a full-day series of workshops helping you learn to build great apps for Apple Vision Pro. In this first part we'll explore what it takes to convert an app from iPadOS to visionOS!
Code is designed to be read far more often than it is written, and one of the simplest ways of making code easier to read is to make it uniform – to make sure your code follows a simple style, so your brain can focus less on spacing and naming and more on understanding how the code actually works.
Checkpoint 6 of Swift for Complete Beginners asks you to create a struct to model a car, adding properties and methods that make sense. Let’s solve that now…
Instruments is a powerful tool for identifying performance problems, but in this article I’ll show you how to find code that slows down rendering in your app, causing slow scrolling, wasted CPU time, and more – all through the simulator.
SwiftUI’s ProgressView gives us control over showing determinate or indeterminate progress, but it’s a bit dull – just a thin line and an activity spinner. Fortunately, we also get the ProgressViewStyle protocol so we can build entirely custom progress views, and in this article I’ll show you how it’s done.
If you want your app to work well on larger devices, you need to support both a sidebar and a tab bar for your primary navigation. In this video I’ll show you how to build one simple SwiftUI component that transitions between both smoothly.
There are three challenges for WeSplit, including adding section headers and showing a grand total. Let’s solve them now…
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.
This challenge asks you to upgrade the form validation, add a user-facing error, then make the app remember the user's delivery details using UserDefaults. Let’s tackle it now…
Checkpoint 5 of Swift for Complete Beginners asks you to process an array of numbers using filter(), sorted(), and map(). Let’s solve that now…
If there’s one data structure they just love teaching you at school, it’s linked lists. In this article we’re going to look at why linked lists are so appealing, walk through how to build a linked list with Swift, and look at an alternative approach using enums.
SwiftUI is a really great framework to make simple games with, and to demonstrate that we’re going to build a word game in hardly any code, then add some more advanced features to make it slicker.