Sponsored Link
Convert Sketch designs into production code - automatically!
Supernova turns Sketch designs into clean, production-ready iOS code. Import any design, animate, set navigation and get clean Swift code for the entire app interface using UIKit elements, Auto Layout, Core Animation and more. Save dozens of hours on your next project!
News
SKProductDiscount
From the iOS 12.2 beta 3 release notes:
StoreKit now supports subscription offers in addition to introductory offers, so apps with auto-renewable subscriptions will soon be able to provide a discounted price for a specific duration for existing and previously subscribed customers. You will be able to use subscription offers to help win back subscribers who have canceled their subscriptions or promote an upgrade to another subscription at a special price. Customers can accept the offer even if theyβve already completed an introductory offer.
Great news!
Swift 5.1 Release Process
Now that the ABI is stable, the goal for Swift 5.1 is β¦ more ABI stability! π To be specific, the primary goal of Swift 5.1 is for the language to achieve module stability.
How many apps use Swift in 2019?
I don't know how to summarise this post from Andrew Madsen without giving away the result, so just click the link and find out! π
Tools
Signing Commits Using GPG on macOS
Do you know who is really committing code to your repositories? Ross Butler does! This isn't something I had considered before but it's well supported by GitHub (and other services) and it's not that hard to set up. Worth thinking about.
Code
Chris Lattner on the origins of Swift
If you listened to the first episode of the Swift Community Podcast then you may want to skip this. If you missed it though, and you're curious about the Swift origin story then Ole Begemann has written up a transcript from the show.
Also, β¨thisβ¨. I choose to believe that the codename was inspired by my first company. π
Inverted Expectations
This is a great article from Paulo Andrade on how to test that a notification doesn't get fired in your app. It's a quick tip, but one that could come in useful.
Making Canopy
Max Howell with a wonderful six five part (1, 2, 3, 4, 5) post on building Canopy. If you're building, or thinking of building anything in server side Swift then this series of posts covers everything from picking a server side framework to hosting and deployment, all in the context of a real shipping product.
This has been in my queue since November last year but I'm giving up on waiting for the 6th part to be published. π I think Max is going to be busy enough in 2019 and the first five parts are great on their own.
BinaryCodable
JSON and XML have their place, but sometimes you just need to pack stuff so tightly that diamonds form. This library from Jeff Verkoeyen should help you out if that's what you need.
Nantes
TTTAttributedLabel is one of those projects. π It solved such common problems back when it was released, it ended up getting in everywhere. It's still useful today, but unfortunately hasn't been regularly maintained for a while. Looking for a replacement? Look no further than this project from Chris Hansen.
Design
San Francisco Compact Rounded
I'm very happy to see Apple finally release the rounded versions of their San Francisco font. If you've ever tried to make watchOS design mockups you'll have missed this font. There were more updates (1, 2, 3) to the design resources this week too, but the new font was what caught my attention.
Business and Marketing
Experimenting With Pricing Lifted My App Revenue Almost 500%
Based on the feedback I received users are starting to expect subscriptions.
Fascinating article from Stuart Hall on experimentation with app pricing.
Constraints
I'm linking to this post from Curtis Herbert partly because (as always) it's an interesting post, but also as proof that you can still build a successful business from a B2C app on the App Store. It's not companies buying Slopes, it's regular people. π
Up to Speed
Notes from the margins
This post from Richard Turton contains the purest truth in the first sentence.
A large part of UIKit involves putting stuff in boxes and showing it to the user.
After that, it's just everything you could need to know about margins and safe areas! No big deal... π
Sponsored Jobs
iOS Engineer - Citymapper - London
We're launching Citymapper Pass in London, come help us reduce the stress of transport ticketing!
Comment
The dust is settling on this 2FA change that I mentioned last week. So, now that everything is a little clearer here's a quick summary of what you need to be aware of:
I've had 2FA on my personal iCloud account for years now but I just went through and enabled it for my developer accounts (Yes, more than one and yes, it's a long and dull story π). I followed these instructions from Apple and they worked perfectly. The only thing I did differently was that instead of signing out of my main iCloud account on my phone, I used a new local user account on my Mac to do the initial 2FA set up on my developer accounts.
Finally, if there truly is some genuine reason you are unable to switch this on for your Team Agent account, there is a section titled "What if I canβt enable two-factor authentication for some other reason?" at the bottom of this article. I don't have any information about this at all, and I'd expect a tough conversation to get it done, but it sounds Apple may be able to relax the restriction on an account by account basis.
The new rule kicks in next Wednesday so make sure you're ready. π
Dave Verwer