Sponsored Link
Grow in-app subscriptions with Adapty
Are you ready for the IDFA changes coming in iOS 14? Be prepared by using Adapty. Convert churned users to paid subscribers and easily test A/B test purchase flow for maximum revenue. Our SDK is open-source, well-tested, and only takes a couple of lines of code to integrate. Give Adapty a try, for free, now.
News
SwiftUI betas: What changed before 1.0
Software is ever-changing. Something that didn't exist yesterday might spring into existence today and occasionally features you love mysteriously move around, or even disappear! As software engineers, we have learned to embrace change, especially in API design. That doesn't mean it isn't a little disorientating though, so we're lucky to have people like Kuba Suder to write posts like this.
Tools
Using Xcode search results as a ToDo list
Sometimes, I link to articles that contain deep and insightful information, thoroughly researched over several months, and other times I link to a tweet that'll change your life in less than 280 characters. Michael Liberatore blew my mind with this tip, and I've used it almost every day since realising it was possible. 😍
Mark your workarounds as deprecated with the next release
What a lovely little tip from Ole Begemann. Much better than a // TODO
comment that you'll ignore for the next five years.
How much time a day do you waste waiting for Xcode builds?
Here's an interesting little timewaster from Igor Kulman that adds up all the time that Xcode spends building during your day and displays it in your menu bar. The irony of this post is that if you do this, you'll spend more time thinking about your build times, without actually saving any time at all. 😅 So why am I linking it? Because of BitBar, which was new to me. It looks amazing for putting information into your menu bar.
Code
Flexible layouts in SwiftUI
This year's releases of SwiftUI included many more options for container and layout views but of course, they don't cover every situation. How can you use today's tools to build a flowing layout? Federico Zanetello is here, and he's bringing GeometryReader
to save the day!
Simpler File Encryption on iOS
The iOS SDK has plenty of ways to help you encrypt data. Of course, you probably saw last year's new CryptoKit framework, but there are so many choices, it can be a little bewildering. Here's Andy Ibanez to guide us through the options.
Just remember your obligations if you're using any encryption in your app.
Parma
A Markdown rendering engine, using SwiftUI views? That sounds interesting! That's what Leonard Chan has created here. I'm all in on easy ways to display Markdown!
The only thing I'm marking this project down for is the description of it as "pure SwiftUI" in the README. All credit to the king of Dad jokes for that one.
Business and Marketing
Subscription or no subscription? That is not the question
If you are selling apps, you need to read this post from the iA Writer team. It's a long post on a complex subject, but it's worth reading every word.
Jobs
iOS Engineer @ Doximity – Doximity, the social network for doctors and healthcare workers, is hiring passionate iOS engineers (remote friendly!) with 5+ years of experience. You'll get to be part of an amazing product team and work on an app that is used by over 70% of US doctors to help them deliver better patient care. Use your skills (Swift, Obj-C, FRP) to improve lives and make the world a better place. Apply today! – San Francisco CA, or Remote within the US
And finally...
What a great story. The case of the top-secret iPod. 🕵️♂️
Comment
Just six weeks ago, Sven and I launched the Swift Package Index - A site dedicated to helping you make better decisions about your dependencies.
Today, we’re releasing our next major feature — comprehensive compatibility metadata for both platforms and Swift versions. At a glance, you can see what versions of Swift a package supports, and whether it’s compatible with iOS, macOS, tvOS, watchOS, and Linux! How are we getting all of this information? There’s no better way to check whether a package supports an environment than by running a build in that environment, right? So that’s how we’re doing it. We run builds using every permutation of platform and Swift version to determine precise compatibility data for every package. 😅
We’ve run over 200,000 builds so far, and developed a mechanism to automatically keep up with every package in near real-time as new versions are released. We then aggregate the build results into easy to read compatibility tables on every page of the Swift Package Index. I’m confident that there’s no better way (that's available today) to quickly check whether the package you’re interested in supports your app’s environment.
There’s a lot more to say about this feature than I can fit into an iOS Dev Weekly introduction, so what you should do now is go and read the launch blog post, and then check the feature out. That blog post also contains the answer to what many of you have been asking about these tweets.
Developing this feature has been an enormous effort. So much so that if we knew then what we know now, it may never have left the drawing board, but it did, and now it’s here for you all to enjoy!
Dave Verwer