A new software architecture! Hurray! ππ€·π»ββοΈ
I’m filing this away as an idea to try on my next app because all other architectures are still just annoying in some way, and this one has a good name. π
This architecture is designed to work with SwiftUI and UIKit on any Apple platform (iOS, macOS, tvOS, and watchOS).
App users may not be aware — and app developers often forget — that favorite app of yours might be running native code from a third party such as Facebook. Besides making your app potentially way bigger to download, it can also cause instability. When Facebook screws up, suddenly you can’t run TikTok, Spotify, and countless others apps.
It was as if Facebook had an βapp kill switchβ that they activated, and it brought down many of peopleβs favorite iOS apps.
For this and other reasons such as added integration complexity, when I’m making my next app, I am going to try to minimize third-party libraries.
It seems like software architecture often focuses on theoretical concepts and cool ideas, but we should look at things like this that can impact millions of real users. IMHO we developers need to consider third-party libraries as a liability to be weighed against the vulnerabilities they open up. π₯
I’ll chalk this up as the clever idea of the week. This dude figured out how add special debugging capabilities to your production shippable TestFlight build without security compromises or other issues. π€―
I love that he first runs through all the “not-so-good” ideas that he tried before landing on this elegant solution (including hardcoded user id’s, a secret gesture, a secret URL scheme, and a different bills config.)
The anser, in a nutshell is:
Create a special configuration profile using Keychain Access and Apple Configurator 2, and install this on your devices. Detect the presence of this profile to enable your debugging features on that device.
Trying to make a good-looking app but not a designer or want a head start with ready-made UI designs? You can always try an app template. I did this a few years ago with part of one of my apps.
And here’s a modern new collection of iOS app templates written in Swift.
They seem to be basic UIKit apps, with no SwiftUI support. They is no authentication or backend support. They run on dummy data and free sample pictures. But from a purely UI / design perspective, these templates look they have good potential. They have templates for an e-commerce app, finance, fitness, food, media, reader, social, and travel.