Join over 90,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 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 this reading library immediately rather than waiting 18 months.
Or start a free trial
filter()
, map()
, and reduce()
.UserDefaults
and Measurement
.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 and 2021.
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.
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 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, per seat. 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+.
Or start a free trial
One of the least obvious but most important clean ups lies in our use of Core Data, because right now we’re leaking data and also showing flat out wrong data. To fix these we need to use some more advanced Core Data, so let’s get into it…
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!
SwiftUI’s ButtonStyle
protocol is a great way to reuse designs across your app, to get a consistent look and feel everywhere. But they have one significant problem with animations, and in this article I’ll show you that problem in action, then walk you through how to fix it in a flexible way.
It’s time for us to build one of the most eye-catching effects in the weather app: the fantastic bolts of lightning that arc down, fork off randomly, and really add some drama to stormy days. This is going to be good…
Large parts of Apple’s Weather app is about bringing little sparks of joy to an otherwise very serious, fact-driven experience, but none more so than the random little meteors that fly by on starry nights. They move so fast so you might be tempted to skip over them, but I think it’s definitely worth exploring and having some fun with!
We’re going to upgrade our map with annotations, but first I want to give you the chance to implement grids in our Journeys app so you can see them in action with your own code.
The last major piece of CloudKit work we’re going to add will let users post comments on shared projects – hopefully encouraging ones! This will combine querying and writing CloudKit data in a single part of our app, and also demonstrate how to write single records rather than several at once.
Now that you understand how App Clips work, in this part we’ll apply them to our Barking Lot app so you can see them in action with real code.
In this stream we'll build an app to locate food banks near to users, so they can donate needed items. This uses an external API that's a little bit inconsistent, so we'll need to explore Codable
alongside maps, networking, and more.
This challenge asks you make views fade out, scale down, and change their color, all synchronized with the movement in our ScrollView
. Let’s tackle it now…
In this stream we're going to build a SwiftUI and SwiftData app that monitors how long Xcode takes to build your projects, then uses that to calculate how much time and money you would save by upgrading to a newer Mac.
This is particularly important in the world of Apple development because all their major operating systems change every year, Swift sees significant changes two or three times a year, and new devices are shipping regularly.
In this stream we're going to build a website in Swift, using a free, open-source framework I produced called Ignite. It's designed to be familiar for SwiftUI developers, so hopefully you can see the appeal!
Before we dive into all the new SwiftUI features, there are two remaining Swift language changes I want to talk about. Both are significant, but honestly not worth worrying about – there are far more interesting things to be spending time on!
UPDATED: Although many apps work great when paid for up front, many more work better when using a freemium model – you get lots of downloads of a free app, then charge for some kind of premium service. In this article we’re going to limit our app unless the user has paid for an unlock, but we’ll be using a flexible approach you can adapt easily.
UPDATED: Previously we added all the grunt work to make in-app purchases possible in our app. In this article we’re going to continue that work by polishing the whole experience, checking the whole flow works, and also asking for user reviews.
This is a two-part question, and it’s a tricky one because ideally you’ll explain the problem, outline your approach, and provide a real-world example of you doing all that in practice.
This challenge asks you to upgrade our simple Friendface app to make it store a SwiftData cache, so it works just as well offline as online. Let’s tackle it now…
In this part we finish by directly comparing async let
, tasks, and task groups, then move on to the final boss of Swift concurrency: actors.
UPDATED: Local notifications allow us to set reminders for the user without ever needing to send data off the device. In this article we’re going to add these notifications to our app, so that users can be reminded to work on specific bugs.
Link copied to your pasteboard.