TEAM LICENSES: Save money and learn new skills through a Hacking with Swift+ team license >>

Join over 90,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

✅    

Free gifts for every year of your subscription

✅    

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

✅    

Videos from Hacking with Swift Live

And it gets even better… 🤯

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:

  • 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 this 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 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!

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.

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!

  • Hacking with Swift+ subscriber gifts are available for everyone; we'll cover the postage worldwide.
  • The gifts are free bonuses; you don't need to pay anything extra to receive them.
  • There are multiple gifts based on how many years you have subscribed. After your first year you'll receive a "One Year" metal pin badge, a sticker, a fridge magnet, and a coaster. Second and subsequent years will contain different gifts.
  • If you subscribe yearly, you'll be sent your gifts immediately.
  • If you subscribe monthly, you'll be sent your gifts after you have been a subscriber for 12 months. These months do not need to be contiguous – you could subscribe for six months, take a six month break, then subscribe for another six months.
  • To claim your free gifts, edit your Hacking with Swift account to include your mailing address.
  • If you don't want to share your address with me, or if you'd rather avoid the environmental impact of sending packages around the world, you can opt out of receiving gifts.
  • If your country levies import duty or other taxes on gifts you will be liable to pay them directly to your government.

A Hacking with Swift magnet, pin badge, sticker, and coaster.

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

 

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 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:

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

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


Finishing our initial version

14:40

ULTIMATE PORTFOLIO APP

Finishing our initial version

UPDATED: At this point the first version of our app is almost finished, but before we move on to the next stage I want to make a handful of small fixes, tweaks, and improvements to round it out.

Cleaning up CloudKit, part 1

26:33

ULTIMATE PORTFOLIO APP

Cleaning up CloudKit, part 1

We’ve added quite a bit of iCloud functionality in the last few tutorials, so before we’re done we need to clean up what we have so it’s a solid foundation we can build on. To start with, that means tackling removing data as well as we handling adding data.

Uploading Codable data

27:13

NETWORKING

Uploading Codable data

In a previous article we already looked at a great way to download data using Combine, but in this article we’re going to examine the other side of the problem: uploading Codable data. Apple’s API here is a little gnarly, so I’m going to show you how to wrap it in a neat container using generics and Result.

Adding haptics

18:42

ULTIMATE PORTFOLIO APP

Adding haptics

UPDATED: In this article I’m going to walk you through adding haptics to your app, to make it feel a little more alive in the user’s hand.

Optimizing for macOS

45:35

ULTIMATE PORTFOLIO APP

Optimizing for macOS

UPDATED: Now that our app is all built, let's take a look at optimizing it for macOS – tailoring our Swift code to make the most of the Mac platform, rather than just running in iPad compatibility mode.

Share a Meal

1:43:05

LIVE STREAMS

Share a Meal

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.

Animating buttons using ButtonStyle

15:44

INTERMEDIATE SWIFTUI

Animating buttons using ButtonStyle

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.

Apart from the built-in ones, can you give an example of property wrappers?

2:17

INTERVIEW QUESTIONS

Apart from the built-in ones, can you give an example of property wrappers?

Anyone with even a modicum of SwiftUI experience can name things like @State and @ObservedObject, but this question specifically asks you not to mention the built-in ones so this is more about thinking what property wrappers actually add to our projects.

Bringing the sun out

21:29

REMAKING APPS

Bringing the sun out

Okay, so the lightning effect took a lot of work, but now we’re on to something much easier: adding some sunshine. This is place ripe for experimentation, but we can get something good with remarkably little work.

Drawing

16:27

SOLUTIONS

Drawing

This challenge asks you to add create a custom arrow shape, make it animatable, then create a color cycling rectangle with controls for gradient angle. Let’s tackle it now…

Creating the Home view

35:49

ULTIMATE PORTFOLIO APP

Creating the Home view

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.

Bringing MVVM into our SwiftUI project, part 1

33:41

ULTIMATE PORTFOLIO APP

Bringing MVVM into our SwiftUI project, part 1

UPDATED: The final major change we’re going to make to our project is to look at how it fits in with the MVVM design pattern. I left this one to last because it’s quite a jump from our previous work and in many respects SwiftUI even fights against it, but I do think it’s worth exploring so you can be sure your code is sound.

Starting with clouds

36:44

REMAKING APPS

Starting with clouds

We’re going to pull apart then rebuild the user interface from the Weather app that shipped with iOS 15 onwards. The app itself is remarkably big, but we’re going to cherry pick all the interesting bits – starting with clouds

Core Data delete rules and predicates

14:20

ULTIMATE PORTFOLIO APP

Core Data delete rules and predicates

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…

What’s Next?

1:00:24

LIVE STREAMS

What’s Next?

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.

Advanced tasks

1:30:48

EVENTS

Advanced tasks

One of the big advantages to tasks is that we can pause them, or cancel them outright if their work is longer needed. Even better, for bigger problems we can create whole groups of tasks to accomplish work together.

What is UserDefaults good for? What is UserDefaults not good for?

2:17

INTERVIEW QUESTIONS

What is UserDefaults good for? What is UserDefaults not good for?

UserDefaults is the simplest way of storing user data, which makes it appealing for beginners, but also useful for even experienced developers who need a sensible place to stash away user preferences. However, it has downsides, and it’s important you’re familiar with them if you want to answer this question well.

Moonshot

16:07

SOLUTIONS

Moonshot

This challenge asks you to add some extra text to the mission view, break up at least two SwiftUI views, then, for something harder, allow the user to move between a grid and a list for missions. Let’s tackle it now…

Advanced button customization using ButtonStyle

42:07

INTERMEDIATE SWIFTUI

Advanced button customization using ButtonStyle

Previously we looked at how to create basic button styles that unify your app’s styling efficiently. In this follow-on article we’re going to explore three completely different button styles that show off just what SwiftUI is capable of: glossy marble buttons, classic fantasy buttons, and sci-fi buttons.

Converting measurements safely

17:58

MAKING THE MOST OF FOUNDATION

Converting measurements safely

Apple’s Foundation framework makes it easy for us to convert any kind of measurement into any other kind of measurement. In this article I’ll show you how to make the most of these APIs, but also why it’s so useful that they work with Swift features such as operator overloading, plus important protocols such as Comparable, Equatable, and Codable.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.