BLACK FRIDAY: Save 50% on all my Swift books and bundles! >>

Join over 100,000 readers today

The ultimate investment for your iOS career

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


Membership includes…

✅    

All HWS+ tutorials as both text and 4K video

✅    

Downloadable projects and learning challenges

✅    

Our massive Ultimate Portfolio App series

✅    

Access to my monthly app building livestreams

✅    

An ad-free experience everywhere on the site

✅    

Video solutions for the 100 Days of SwiftUI

✅    

A 20% discount on all my books year-round

✅    

Access to an exclusive forum for subscribers

✅    

A free ticket to Unwrap Live every year

And it gets even better… 🤯

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:

  • Pro Swift, Pro SwiftUI, Swift Design Patterns, and Testing Swift
  • Hacking with macOS, Hacking with tvOS, and Hacking with watchOS
  • Swift Coding Challenges, Objective-C for Swift Developers, and Beyond Code
  • Advanced iOS: Volumes 1, 2, and 3
  • And more!

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.

Our courses include…

  • The Ultimate Portfolio App walks you through the process of building one app that implements best practices for architecture, accessibility, testing, documentation, and more, while also working across iOS, macOS, tvOS, and even watchOS.
  • Advanced Swift focuses on improving your core Swift language skills, regardless of whether you use UIKit, SwiftUI, or something else.
  • Algorithms helps you understand common algorithms in computer science, all implemented and explained step by step in Swift.
  • Custom SwiftUI Components walks you through building a wide variety of reusable UI components using SwiftUI.
  • Data Structures teaches you how to build stacks, lists, trees and more, while working with a variety of common Swift protocols.
  • Funtional Programming walks you through hands-on examples of how to build smaller, composable more testable using functional approaches such as filter(), map(), and reduce().
  • High-performance Apps teaches you techniques for writing faster code, rendering faster views, and more, so you can make best use of your user's device.
  • Intermediate Swift is designed to help push your skills further, giving in-depth explanations for generics, optionals, assertions, and more.
  • Intermediate SwiftUI is packed with tips and tricks to help you write better SwiftUI code, including customizing common controls with styles, handling size classes better, and working with dynamic properties.
  • Making the most of Foundation goes back to the basics of Apple's Foundation framework, exploring how best to use common code such as UserDefaults and Measurement.
  • Networking covers a core topic in a fresh way, showing you smart ways to make your code simpler and safer using generics, Combine, and more.
  • Remaking Apps walks you through building copies of well-known apps from iOS using SwiftUI, showing you how easy it is to get powerful effects with very little code.
  • Rendering Charts in SwiftUI shows you how SwiftUI can be used to build complete types of charts from scratch, including pie charts, bar charts, and more.
  • SwiftUI Special Effects teaches you how to add some surprise and delight to your user interface using particles, Core Motion, and more.
  • Working with Data helps you get to grips with data input, such as creating a custom XML parser, or handling complex or messy JSON.

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!

Browse the full range of tutorials  

Exclusive bonuses!


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.

Join Hacking with Swift+

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.

  • Get instant access to all past existing Hacking with Swift+ episodes, plus new ones as they are released.
  • Support my work helping make high-quality Swift tutorials for everyone.
  • Pay just $20 a month, or $200 for a yearly subscription.

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

FAQ

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:

  1. Giving you the depth you need to get a strong grasp of each topic. Where other sites make hundreds of three or four minute videos that touch lightly on each subject, we prefer to go into much more detail – 20 or 30 minutes, and often longer – so you get to understand why things work as well as how.
  2. We teach Swift, Swift, and more Swift. We don't do Kotlin, we aren't interested in Dart, we won't try to squeeze in Flutter, and you won't find any React Native. That's not to say those other technologies aren't interesting, only that you're here to take your Swift skills further and that's exactly what we care about most.

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+.

Here's a sample of what's waiting for you…


Inside Swift hashing

31:41

LEARN SOMETHING NEW

Inside Swift hashing

Did you know it's possible for two things to be considered equal even when they aren't the same? Let's look at how hashing works in Swift, how we can tweak it for performance, what problems it can cause, and most importantly how to make sure those problems never strike your code.

Storing preferences efficiently

32:42

MAKING THE MOST OF FOUNDATION

Storing preferences efficiently

Apple’s UserDefaults system lets us store small amounts of user data for our app, which might sound simple but it’s deceptively powerful. In this article I’ll show you the correct way to create initial preferences, how to share preferences across applications, how to synchronize data with iCloud, and why this is a case where property wrappers probably aren’t a good solution.

ShadowSteps

2:16:32

LIVE STREAMS

ShadowSteps

This month we're going to make a watchOS fitness app, taking an idea Apple already partly made and adjusting it to fit a different need.

Organizing the project itself

17:54

ULTIMATE PORTFOLIO APP

Organizing the project itself

We have one last easy task before we look at something trickier, which is to organize the Xcode project itself. Here I’m going to show you two different approaches so you can contrast them yourself, then explain which I prefer and why.

Animating lightning bolts

39:22

REMAKING WEATHER

Animating lightning bolts

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…

Symbolicator

1:32:18

LIVE STREAMS

Symbolicator

The SF Symbols app is a great resource for discovering icons, but at the time of writing it’s also only available on macOS. In this article we’ll build our own SF Symbols app for iOS, integrating customization features along the way.

Quick Spell

1:07:49

LIVE STREAMS

Quick Spell

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.

What open source projects have you contributed to?

1:54

INTERVIEW QUESTIONS

What open source projects have you contributed to?

This question comes up a lot, but I’m always wary of it because it places a lot of emphasis on unpaid work out of hours, which particularly affects people who already have extra responsibilities caring for children or elders.

What steps do you take to identify and resolve performance issues?

2:54

INTERVIEW QUESTIONS

What steps do you take to identify and resolve performance issues?

This is a brilliant question to ask, because it gives the interviewee the scope to pick their own area of expertise and delve into it, and it’s also a brilliant question to answer because you’re in control – you get to direct the conversation!

Accessibility

11:58

SOLUTIONS

Accessibility

This challenge asks you to make decorative decorations, make the rows in iExpense read more smoothly with VoiceOver, then conduct your own review of Moonshot and fix it up. Let’s tackle it now…

Wrap up

17:26

ULTIMATE PORTFOLIO APP

Wrap up

That completes all the code for this course, but before we're done it's important to run through everything to make sure there are no outstanding bugs or warnings, and that our code is as polished as we can make it.

Checkpoint 1

5:19

SOLUTIONS

Checkpoint 1

Checkpoint 1 of Swift for Complete Beginners asks you to create an Xcode playground able to convert any value of Celsius into Fahrenheit, then print the result. Let’s solve that now…

Advanced string interpolation, part two

19:32

ADVANCED SWIFT

Advanced string interpolation, part two

In part one of this tutorial we looked at how to customize string interpolations on a type-by-type basis, giving you more control over how your code works. In this second part we’ll look at a second powerful use for interpolation: building whole types from scratch.

Handling names correctly

18:50

MAKING THE MOST OF FOUNDATION

Handling names correctly

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.

What is the purpose of NotificationCenter?

2:09

INTERVIEW QUESTIONS

What is the purpose of NotificationCenter?

Apple’s NotificationCenter class implements the observer pattern from the Gang of Four book on design patterns, allowing any number of objects be notified when a specific event happens. But to answer this question well, you need to go beyond theory and focus on when it’s actually used.

Testing development data

8:27

ULTIMATE PORTFOLIO APP

Testing development data

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!

Speak Up!

1:10:19

LIVE STREAMS

Speak Up!

Apple’s Voice Memos app is great, but wouldn’t it be nice to be able to search your recordings? With the Speech framework we can do just that, and with SwiftUI we can add on a simple UI without much work.

High Rollers

36:20

SOLUTIONS

High Rollers

This challenge asks you build an app that simulates random dice rolls on behalf the user, adding haptic feedback to bring it to life, and permanent storage for later reference. Let’s tackle it now…

Have you ever filed bugs with Apple? Can you walk me through some?

1:54

INTERVIEW QUESTIONS

Have you ever filed bugs with Apple? Can you walk me through some?

This is another one of my favorite questions to ask folks, because it’s a subtle way to gauge a number of things at the same time without sounding aggressive – after all, it’s Apple’s bugs we’re talking about, rather than the interviewee’s!

What’s new in Swift 5.3?

1:12:42

EVENTS

What’s new in Swift 5.3?

In this introduction we go through the core language improvements in Swift 5.3, including multiple trailing closures, type-based program entry points, and more, before moving on to the first new SwiftUI feature: lazy stacks.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.