Sponsored Link
The world’s first Mobile DevOps Performance, Productivity, and Maturity Assessment
At Bitrise, we’ve launched MODAS: an assessment for teams wanting to gain insight into optimizing their end-to-end DevOps processes. Using this data, we’ll be able to benchmark you against your peers and provide a roadmap on how to improve. The first 50 respondents will win a Bitrise t-shirt or plushie!
News
Update on “reader” app distribution
The good news is that despite being prompted by an agreement after an investigation in Japan, this change is rolling out worldwide. It's only a small change in the rules, but it'll make Netflix and Spotify happy.
Note: I'm under no delusion that it will actually make Netflix and Spotify happy. They'll just switch to pushing at a different weak point.
Subscription price increase without opt-in confirmation?
From the discussion prompted by Max Seelemann's tweet, this looks like a special case specific to the Disney+ app. That said, it's also possible that Apple is considering/testing options for subscription price increases. Something to watch carefully.
Swift Remote Studio
Yes, remote working has been the norm for the last couple of years, but there's still a big difference between working from home in a team as part of a company and working alone (or mostly alone). It's virtual video/audio/silent co-working with a forum-like service for asynchronous communication and other events, too. It's early days, but there's a 30-day trial, so why not give it a try if you work alone.
For full disclosure, I helped beta test this service and gave feedback on it. I also have a complimentary membership.
Tools
Xcodes.app
The last time I mentioned Xcodes, I was still using xcinfo. That changed recently with some fantastic improvements to Xcodes.app. Especially in this latest release, an experimental feature that unxips release archives up to 70% faster. 😱 That's the kind of improvement that'll make anyone sit up and pay attention.
Self-host an Apple silicon GitHub runner
Everyone who has worked with a good CI setup would probably agree that it's a step forward for even the smallest project. The problem is that CI can cost lots of money! Yes, there are some free options and low-cost plans, but what if you could use an Apple silicon machine to run your CI for free¹. Let Dimitri Bouniol explain.
Code
How to add text input to iOS notifications
I had somehow missed that notifications on iOS will now let you prompt for input! I knew about custom button actions but had completely missed that you can also present a text field that people can type into! Natascha Fadeeva is here to show us how to do it.
I've never seen this used in a shipping app. Has anyone else?
Introducing Swift Async Algorithms
I mentioned it briefly in this week's comment, but this new package from Apple is interesting. As Tony Parker explains, this is potentially what the start of a Combine style framework looks like in an async/await world.
Sample Apps Tutorials
Apple has been producing rich tutorials for the last few years. We saw Introducing SwiftUI, then the more in-depth Develop Apps for iOS, and now even more. These tutorials cover navigation, presenting content, retrieving data from a server, acting on sensor data, and responding to user input through ten sample app tutorials. Wonderful! 🚀
Videos
SwiftUI Sessions
Tunde Adegoroye has been making YouTube videos covering Swift development for a while now, and I like his approach in this playlist. Each video covers a single technique, and he's adding to it daily. Check out some recent ones on button styles or loading spinners, or dive in at the start of the playlist. You'll learn something!
Jobs
Mobile Architect @ Bounteous – We are seeking a Mobile Architect to design and lead the development of our iOS and Android applications. Strong candidates will be able to direct the design of new applications from conception to completion, mentor and manage technical teams, and possess strong client and communication skills. – Remote (within US timezones) or on-site (Canada or United States)
Senior iOS Developer @ Flightradar24 – With over 2 million daily users, Flightradar24 is the world’s most popular flight tracking service. As a member of our small iOS team, you'll work on every part of our app and have a lot of impact. We care about code quality and building the best possible product, and so should you. – Remote (within European timezones)
There are plenty more jobs available over at the main iOS Dev Jobs site. Or, if you're hiring, don't forget you can post your job for free!
And finally...
On this day in 1976. 😵
Comment
When swift-numerics debuted in 2019, Steve Canon mentioned that you might have expected some of the APIs to be a part of the standard library. He talked about a few reasons why, but the primary benefits were that more people could be involved with the API design and that enhancements to new APIs could be independent of the slower pace of the standard library.
At first, it wasn’t clear whether this was a one-off experiment or part of a new strategy, but it’s clear now. It’s a strategy, and in my eyes, it’s been a great success.
We’ve seen several other packages incubated in the same way since then. They added swift-crypto just a few months later, then swift-atomics, swift-system, swift-algorithms, swift-collections, swift-distributed-actors, to swift-async-algorithms, released last Friday.
Apple also released a package in early 2020 named swift-standard-library-preview, which, as the README describes:
A standard library feeder package is an interesting idea, but it’s not seen many updates in the last two years. Maybe it was an experiment that didn’t quite pan out, and if it is, that’s OK. I’m reasonably indifferent as to whether the APIs end up in the standard library or stay as separate packages. There are advantages and disadvantages to both approaches.
I won’t go into too much detail here on what I consider the pros and cons of each approach are, but I’ll give a couple of examples. If Apple integrated these APIs into the standard library, they would be easier to discover as Apple would document them alongside the rest of the standard library where people are already reading. On the other hand, it’s much easier to accept contributions to individual open-source packages, and having separate projects enables more focused discussions around their functionality.
Whether this approach stays as is, with separate packages seeming to win out, or whether they act as a feeder mechanism for the standard library as their APIs stabilise, I thought it was worth highlighting what’s happening, as it’s the kind of thing that may have slipped past some of us. Either way, I like what’s happening and hope it continues.
Dave Verwer