Issue 52
Apr 22, 2021

1-year subscription or 1-year license?

Can you tell the difference?

Having an app in the Mac App Store has its pros and cons, but a certain challenge is its licensing model. Providing a 1-year license in which you'll be able to continue using the version you bought a license for requires a lot of custom logic (Sketch does this, for example).

You could argue a 1-year subscription equals the 1-year licensing model, but in that comparison, it's important to mention we're talking about a non-renewable subscription. You'll lose PRO features after that year, but you do get future updates. And just like you would buy a new license, you would buy a new subscription if you like the PRO version.

There have been quite some responses on my yearly prices poll, and the monthly prices poll. I wondered whether the price amount would influence the results. Although a strong conclusion is hard to make, I guess I learned two things from this whole conversation:
- Make it clear you're selling a non-renewable subscription
- Show the price per month if you're comparing a yearly subscription with a monthly subscription

Lastly, I want to share an article that has been inspiring in this matter. GitHub stars won’t pay your rent tells the story of Kitze, who had its best intentions by open-sourcing first, but it didn't pay the bills. After relaunching as a licensed product, he had way better results. It's interesting to read about the responses he got in which I liked his comparison with real life:

"Or imagine entering a supermarket and starting to yell at the cashier “WHAT?! THIS MILK IS 3$? DO YOU KNOW THAT ON THE OTHER END..."

I'll invite you to the article to read on 🙂

We're all developers, and we're spoiled with many free products, codes, and apps that might make it hard to pay for a product. However, when you see a developer that worked hard to make your life easier asking just $2.99 per month in return, think about the number of beers and coffee you're buying every month for the same amount.

Enjoy this week's SwiftLee Weekly!


RocketSim 4.0 is on its way and brings to several challenges I didn't have before. One of them required me to create a paging onboarding in SwiftUI which is presented from AppKit. Although the latest iOS and macOS versions support this with a new tab style, I've written a custom solution that works for both iOS 13 and Catalina.

Why you should read this: The asymmetric AnyTransition helped a lot!


Although you can create an app simply by throwing some code together, without best practices and a robust architecture, you’ll soon end up with unmanageable spaghetti code. Learn how to create solid and maintainable apps with fewer bugs using this free guide.


Yes, that’s right! Heidi Helen Pilypas shared a great question on Twitter this week. Do you know what happens? Try it before you read this explanation I liked from Dave Wood.



I do not completely agree with Alex Grebenyuk that AppKit is completely gone, but he does show a few great examples of why he thinks AppKit is done. SwiftUI on the Mac can bring you quite far!
You might have seen this technique before, but if you did not, you’d definitely value this Bj Homer's tweet making your code just a little bit cleaner.
It’s an edge case: not many of us will have to work with WebP Images. However, if you do, Noah Gilmore got you covered and explains how you can add support for it when working with the UIPasteboard API.
Kevin Renskers does a great job convincing us why we should use Combine and its publishers while at the same time explaining the differences between both PassthroughSubject and CurrentValueSubject. Unexperienced with Combine at all? I’ve got you covered.


If you find yourself bored, you’ve got over 100 replies in this thread from Paul Hudson, who asked for “a good Swift/Xcode tip you can fit in a single tweet.” Enjoy!
Many apps won’t go as far as Uber did to reduce the code size by 23% using advanced compiler technologies. There’s obviously a big team behind this app, so don’t feel like you should do the same. However, do take this chance to learn from their experiences!


I’ve seen this presentation at CocoaHeadsNL a few weeks ago in which Ryan Mcleod does a great job explaining the story behind his app Blackbox Challenge. It’s both fun and inspiring talk from an Apple Design Award winner.