Sponsored Link
Why the top iOS apps rely on Instabug for crash reporting?
Crash reporting + Bug reporting + Customizable in-app surveys all in one SDK. Know which line of code caused the crash along with network logs and detailed repro steps, and the session profiler to identify and fix severe crashes 4x faster. Thereβs a reason why 25,000+ iOS developers rank Instabug as the number one SDK for bug and crash reporting. See more detailed features comparison and try Instabug for free here.
News
More details around virtual WWDC
Alright, here we go! After all the speculation, yesterday Apple has published a few details of this year's virtual WWDC. There's confirmation of the things we assumed, like a keynote and session videos. But there's also virtual 1-1 labs and most surprisingly of all, new developer forums. What a pleasant surprise! I hope they're amazing, and that they get the support from Apple that they'll need. π
Introducing Swift AWS Lambda Runtime
I've mentioned a few times that if Apple makes any moves towards a first-party Swift on the server framework that it'd make sense to start with "server functions" that run in iCloud somewhere. I'm not sure whether this new open-source library being part of the official Swift project increases or decreases the likelihood of that happening, but you should check it out regardless. π
Tools
What Adding Dependencies Will Do To Your App in 2020
Picking a dependency manager isn't just about what packages/libraries support which dependency manager. This fascinating article from Xavier Lowmiller looks into how the three dependency managers affect your app in terms of build time, launch time, and the increase in your app's size. There are much more significant differences here than I expected!
SwiftUI Snapshot Testing
Here's Sarah Reichelt on using the PointFree snapshot testing library to test both iOS and macOS apps. I especially liked the idea here of verifying large accessibility sizes with this technique. It's easy to forget, and can often break - a combination which always makes an excellent case for automated tests.
We use the same library to do our snapshot testing in the Swift Package Index, and it's worked great for us too. π
Faster linking with zld
I first came across zld a few weeks ago but seeing Peter Steinberger show the potential improvements to a real-world project convinced me I should link it here. Honestly, I would only ever consider replacing the default linker in huge projects, but if you're in that situation, this looks great. You might also want to read Daniel Dunbar's thoughts on swift-llbuild2 from a couple of weeks ago if linkers are your thing.
Code
Why TextView is my SwiftUI canary
I enjoyed this piece Drew McCormack on how he's thinking about SwiftUI, and why it all comes down to text fields. Yes, it's trivial to implement a simple text field in SwiftUI today, but could you build Pages, BBEdit, or Microsoft Word with it? Text editing is always an area where Apple platforms (especially macOS) have excelled, so it's a challenging, but significant indicator.
RealityUI
Looking for a UIButton
that works in AR? How about a UISlider
, or a UIStepper
? Max Cobb is here with what you need. Some commonly used UI components, that echo the look of standard iOS controls, in RealityKit. π€― There are a great many new UI paradigms that AR is going to enable, but sometimes you'll still need to push a button. π
Is isIdleTimerDisabled disabled?
Tim Ekl proves Betteridge's law of headlines in this piece on a broken idle timer when upgrading an app to use scene delegates. One to watch out for if you're also stopping the screen from sleeping.
Design
What is the backIndicatorTransitionMaskImage?
I thought I had noticed everything there was to see about the beautiful UINavigationController
swipe back transition, but I had not. Here's Sarun Wongpatcharapakorn with a detail that I had missed, and how to implement it. π
Rounded Corners in the Apple Ecosystem
Arthur Van Siclen with a love letter to Apple's use of the squircle.
Business and Marketing
Previewed
There are plenty of apps (both native, and web) that'll help you dress up your app's screenshots for your App Store listing, but not many that'll do the same for your preview video. The best way to get up to speed here is to watch this short video showing how it works. π
Do indie devs make a lot of money?
This Twitter thread, started by Shihab Mehboob was fascinating. Notice one thing about all the people showing their successful graphs in the replies? None of them had overnight success. It takes time, patience, and hard work. I especially liked this point by Jordan O'Connor - It may be obvious in hindsight, but it's the kind of thing it's easy not to think about, so it's worth calling out.
Finally, don't miss Jordan Morgan's latest post. There's so much to learn from it.
Jobs
Mobile Software 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. β San Francisco, or Remote (within US timezones)
Looking for a job? There's more available over at iOS Dev Jobs. I know I say it every week, but it's true! π
And finally...
An .xcscheme
file in Space Force? Congratulations to SwCrypt on 15 minutes of fame! π
Comment
Don't you love the feeling of launching a new project? I know I do, and it makes me so happy to say that today is one of those days!
Say hello to the Swift Package Index. π
You may remember back to August last year when I launched a Swift Package Manager search engine. Since then, I've talked with several people about an open-source, Swift re-implementation of that idea. I'd even made a start as a way to learn Vapor, but I had other projects on my plate, and my progress was slow. Then, Sven A. Schmidt joined me on the project, and everything changed. We re-started it using Vapor 4, and have been working hard for the last two months to build something robust, scalable, and ready for the future of the Swift Package Manager. π
The goal of the site is unchanged. Finding high-quality libraries is hard, and the Swift Package Index aims to surface the information you need to make great choices about dependencies. Look at this page for a popular package. You can see how long it's been in development, and how active that development is. That there's a stable release, and also an upcoming beta. It's obvious what platforms it supports, which versions of Swift, and how it's licensed. It's full of accurate, always up-to-date information that will guide you towards great decisions. β€οΈ
Of course, there's much more we can do to make those decisions even easier, and we have big plans for the future. But today is about focusing on the launch, so I do hope you'll check it out.
Dave Verwer and Sven A. Schmidt