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:
- The requirement for 2FA to be switched on only applies to the Team Agent account.
- You can add multiple iCloud accounts to iOS so you can receive 2FA authentication codes for multiple accounts on the same device. This works in perfectly in conjunction with your primary iCloud account.
- This is a great time to audit who, and what has access to your developer account. Don’t forget all of the other places that you may have given access to at some point. App Store sales reporting tools and your continuous integration setup are the most common culprits. There’s more information on this change and CI here. You shouldn’t be using your Team Agent account for any of these things anyway, multiple user accounts, roles and permissions exist for a reason!
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. 👍
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.
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.
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! 😂
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!
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.
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.
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.
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.
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.
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.
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
Based on the feedback I received users are starting to expect subscriptions.
Fascinating article from Stuart Hall on experimentation with app pricing.
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
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… 😂
We’re launching Citymapper Pass in London, come help us reduce the stress of transport ticketing!