Sponsored Link
Add paywalls in one line of code
Take the pain out of configuring and testing your app's paywalls. With RevenueCat Paywalls you can remotely configure and edit your entire paywall view without waiting on App Review. See how it works here.
News
CocoaPods Trunk Read-only Plan
Here’s Orta Therox with an update on the team’s plans for maintaining the project. This may be the beginning of the end for CocoaPods, but we’re still two years away from the end, so you have plenty of time to prepare. It’s also worth noting that the project itself will continue to work if you use it for private or personal pods. It’s just that the trunk repository will no longer get updates.
Get your apps and games ready for the holidays
It’s not like the old days where App Store submissions completely stopped over the holidays. That said, they recommend getting important updates clear of the process well in advance of the 20th, when they expect approvals to slow down due to a high volume of updates.
Code
Concurrency Step-by-Step: Reading from Storage
These step-by-step posts from Matt Massicotte are great:
Welcome to the second instalment of “Swift Concurrency Step-by-Step”. The purpose of these posts is to work through a common task to help build up a real understanding of what is going on. Last time, we looked at a network request. This time, we’re going to load a model from a data store.
He started with a network request and this one covers loading data from disk.
Enhance Xcode Previews with Unit Test Coverage
Have you ever thought about unit testing your Xcode previews? I hadn’t either, but with Xcode 16 you can! Noah Martin explains:
Instead of manually testing each preview, you can write a unit test that automatically runs every preview in your app or framework.
It’s super simple to set up, too.
Subdivisions in RealityKit
Here’s one for the visionOS developers. Actually, it’s for a subset of visionOS developers who are developing with 3D objects. I found Cristian Díaz’s look at subdivisions and when/where you can use them in RealityKit interesting.
Business and Marketing
Measuring Product Impact Without A/B Testing
Alec Brevé and Angela Ambroz:
Synthetic controls are a method developed by academic economist Alberto Abadie. The main idea is: sometimes, you just can't randomize - it's either not possible, or it's unethical, or you sacrifice too much precision. In those cases, you can release your treatment to one group and create a composite, synthetic control made up of a weighted combination of your untreated groups.
What a fascinating way to do A/B testing when you’re not able to pick a random set of users and you have a very large user base.
Videos
Most popular videos of WWDC24
I liked this playlist that Apple linked to from their latest issue of Hello Developer. It’s the most popular videos from this year’s WWDC, and is a perfect chance to go back and watch a few of the best that you had previously skipped over.
Jobs
Senior iOS Developer @ komoot – Develop innovative new features from the first idea and concept over to road map planning, implementation, testing, release and monitoring. Team up with six team members to build a state of the art iOS app with more than 5 million installations. – Remote (within European timezones)
Do you have any positions you are recruiting for? You could see them listed here next week with a Featured job listing over at iOS Dev Jobs.
And finally...
It’s December, so it’s allowed. 🎄
Comment
There’s not a lot going on this week, so I’ll just share that I’m really enjoying Bluesky with its recent surge in popularity.
I don’t think there will ever be another "centralised" social media community for Swift and Apple platform developers. Some people remain happy on Twitter/X, some moved to Mastodon and found a home there, and most recently Bluesky is getting a huge influx of people. We’re never going to all be in the same place again. That’s a shame, but life goes on.
I stopped enjoying Twitter in 2020 and mostly left the platform by 2021, well before the acquisition. I gave Mastodon a go in 2023, but I never felt at home there and I don’t use it anymore. I have been really enjoying Bluesky recently, though.
There are enough interesting accounts to follow that are outside of the tech community that my timeline is nicely varied, which never happened for me on Mastodon. I also love some of the technical features, like being able to remove the default timeline and opt in to new ones, like one that features posts from people you follow who don’t post often. Post labelling is also really interesting. In short, I like what they’re doing. But it’s more than that, I’m enjoying being there, for now at least. It’s fun.
This episode of Decoder with the CEO, Jay Graber is worth a listen if you didn’t catch it. Yes, it’s a VC backed company, which means they’ll need a return at some point. Jay went into some of the ways it could make money on the Decoder episode, and while I’m a little skeptical of the plan, it’s worth a try.
Anyway, all of this is just to say that if you’re also trying out Bluesky, you can find me at @daveverwer.com and the newsletter at @iosdevweekly.com. I haven’t set up fully automated posting of the items in each newsletter, yet, but I will.
Next week I’ll have another long-form issue for you if all goes to plan. It’s something a little different from the last one. Happy Friday, and enjoy the issue!
Dave Verwer