Mobile DevOps Summit on November 10th. Call For Speakers is now open!
Mobile DevOps Summit 2022 is a one-day virtual conference powered by Bitrise that brings together over 2500 mobile practitioners and global business leaders to discuss unique challenges faced by mobile teams. Submit your talk and become a speaker to drive the conversation on how to build, test, release, monitor, and collaborate on mobile apps successfully.
Apple’s use of AppKit, Mac Catalyst and SwiftUI in macOS
Alexandre Colucci has been writing posts analysing Apple’s use of various technologies for several years. This time, he looks at macOS and what technologies Apple is using internally. It’s great to see SwiftUI usage increasing so rapidly. Dogfooding is important.
Implementing Parts of the Swift Compiler in Swift
I heard you liked Swift, so I put some ...
The Lighter Swift Codegen for SQLite3
There’s a lot going on in this post from Helge Heß! First up is a new SQLite code generation tool, usable either as a command line tool, SwiftPM plugin, or as a Mac app. Use it to generate a data access API for your app or as a mechanism to bundle data into a Swift Package. Finally, it can generate code directly using the SQLite API or the new Lighter package.
That’s a big announcement that deserves more than a one-paragraph summary! I’d recommend giving the launch blog post a read.
Unexpected view re-rendering
This is a helpful thread from Luke Redpath. It’s also a good reminder of how helpful
_printChanges can be.
It’s a shame that Apple hasn’t documented
_printChanges yet. If you’re wondering what it is, Paul Hudson’s article has a good summary.
View Controller Presentation Changes in iOS and iPadOS 16
The visual changes from year to year in iOS may be subtle, but they do exist. Sizes get tweaked and layouts adjusted. Geoff Hackworth looks at what has changed (and what changes were subsequently reverted) in this year’s iOS betas. The most significant changes this year relate to split views, so if you have an iPad app, this is certainly worth a read.
Business and Marketing
Does Apple Keep its Commission After You Refund a Purchase?
David Barnard answers one of the most commonly asked questions about finances and the App Store. 👍
For full disclosure, RevenueCat has previously sponsored this newsletter.
Visualize sorting in Swift Charts
Sure, you can use Swift Charts to build data visualisations, but how about using it to visualise algorithms over time? Mike Mikina takes a detailed and well-produced walkthrough using the framework to visualise sort algorithms.
Senior iOS Engineer @ Polywork – Polywork is a well-funded startup looking for a second iOS developer to join the team. We’re building a modern professional social network that recognizes people as more than their job titles. – Remote (within US timezones)
Mobile Full Stack Engineer @ Expensify – Join our passionate team of top-notch engineers to solve a real-world problem, and help people spend less time managing expenses and more time pursuing their real goals. – Remote (Anywhere) with some on-site work (Australia, United Kingdom, or United States in CA, MI, NY, or OR)
iOS SDK Developer @ Stream – You will write and maintain our open-source SDKs that are used by hundreds of our customers and consumed by hundreds of millions of their users. – Remote (within US timezones)
Senior iOS Engineer (Swift) @ GoodNotes – GoodNotes is a top-rated paid-for productivity app, available to use on iPad, iPhone and Mac devices with over 10m MAU. You will own your projects and work alongside a high-calibre cross-functional team to continue delivering a product our users love! – Remote (within European or Asia-Pacific timezones) or on-site (Hong Kong or United Kingdom)
Senior iOS Engineer @ Sendwave – We currently have a 4.6-star rating on Trustpilot — people put their faith in us to deliver their money quickly, securely, and affordably. And we’re pretty darn proud of that. – Remote (within US or European timezones)
MacOS/iOS Developer @ DeepL – DeepL is hiring! Want to join the team behind the internet's most powerful translation engine? We are seeking an experienced MacOS/iOs developer to join our Native Apps team, on a fully remote basis. – Remote (within European timezones)
There are more jobs, as always, on the main iOS Dev Jobs site. Posting a position is free, too, so let your hiring managers know!
If using Swift Charts to visualise sort algorithms wasn't enough, how about using them to make music? 🎶
I wrote these words exactly one year ago:
My phone dinged earlier this week with a reminder - “Did you have more ‘blank days’”? It took me a second to remember my promise to myself, but as soon as it clicked, I knew I didn’t need to load my GitHub contributions graph to see the answer.
I did not. 😬
I managed to reduce my contributions by a whopping 2%, but the number of “blank days” is about the same. Does this make me a failure? No, it simply makes me terrible at planning.
I set myself a goal, but I didn’t make a plan. I scheduled the reminder after writing Issue 521, but that’s all I did. Yes, I occasionally thought, “Oh, I should plan some time off” during the year, but then got back to the task at hand and … didn’t.
If I approached writing software that way, I’d be in a mess! Can you imagine starting a year-long project and scheduling the date for the first progress meeting to be three days before the deadline? Ridiculous.
How would I tackle it if it were a work project? I’d track my progress and make a plan.
The statutory minimum time off in the UK is 28 days, and there are 8 national holidays, too. That’s 36 days a year. It’s probably not wise to set my goal to be 100% of that from where I am now, so I’ll try for 50%. Pro-rating that for the remainder of this year means I must take 6 days off work before 2023. That seems achievable.
I’ve set monthly reminders to check in and plan time off, and I’m tracking the number of days I have with a widget in my Mac’s notification area. Now all I need is a JIRA account… 😂Dave Verwer