Sponsored Link
Apple security features won’t protect your app. Here’s what will.
Symantec’s recent app research revealed some major iOS app security vulnerabilities. Developers using third-party software libraries, SDKs, and shared access keys and tokens during the development process need to take additional steps to properly protect their data, users’ PII, and brand reputation. Learn more about the study’s results and the steps iOS developers can take to better protect their apps.
Tools
Self-Hosted macOS Apple Silicon CI with Cilicon
This post from Marco Cancellieri isn’t a strict follow-up to my comments last week, but if you were thinking of running some self-hosted CI, you’ll be interested to read this.
Code
Styling Components in SwiftUI
Here’s Kasper Lahti with everything you ever wanted to know about creating reusable, styled SwiftUI views. The examples he uses are perfect, and the presentation is immaculate. I am 100% confident you’ll learn something from it, too. No matter how much you already know!
URLCache eviction and subclassing
In one way, this article by Nikita Zhuk contains some valuable advice on whether you should subclass URLCache
. In another, it’s a reminder of the amazing work that Quinn and other DTS team members and Apple employees do on the developer forums. It’s easy to miss the tireless (and largely thankless) work that people like Quinn do in those forums, so I wanted to call it out.
Observing the content offset of a SwiftUI ScrollView
I wouldn't be surprised to see Apple focus on this in a future SwiftUI release, but until they do, this solution from John Sundell looks to be the best I've seen so far.
How to cancel a background task in Swift
Have you ever thought, “I know I can cancel background tasks, but I’ll get around figuring out if I should write logic to do it later”? Me too! Luckily, Eric Callanan not only did it but also wrote up a guide in this comprehensive post on the subject.
Design
Creating Custom SF Symbols
I had missed that you could make your own SF Symbols, but it’s fully supported and documented. David Smith shows us how to create custom symbols that scale dynamically, just like the real thing.
Then immediately after finishing David’s article, I came across this new repository from Jeremie Berduck with some popular social media icons made into SF Symbols.
Books
Asynchronous Programming with SwiftUI and Combine
This new book from Peter Friese may not be trying to teach every aspect of SwiftUI or Combine, but it’s a comprehensive book about using these two technologies together. Combine may not be as fashionable as when it launched, but it still pairs extremely well with SwiftUI.
For disclosure, Peter sent me a review copy of the book.
Jobs
Senior iOS Engineer @ Mindstone – Mindstone's vision is a world where people get ahead not because of who they know and where they came from, but what they know and their ability to learn. iOS is our most important platform to help millions of people to create a healthy learning habit, building confidence and skills. – Remote (within European timezones) or on-site (United Kingdom)
iOS Test Automation Engineer @ komoot – We’re looking for an engineer to play a key role in scaling our testing process by automating our manual test suite and enabling our development teams to release faster with confidence. You’ll also have a strong QA mindset with a clear understanding of which user flows are critical for the product. – Remote (within European timezones)
Senior iOS Engineer @ Polywork – Polywork is a well-funded startup looking for a third 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)
Senior iOS Native Engineer @ MartianCraft – MartianCraft has been making Mac and later iOS software for discerning clients for nearly two decades. Our team of in house engineers and designers is second to none. As a full-time remote company for more than a decade we understand the needs, requirements, and pitfalls of working remotely. – Remote (within US timezones)
iOS Engineer @ Major League Baseball – Launched in 2001 as the tech arm of Major League Baseball, MLBAM is renown for creating mobile experiences that baseball fans love - and we are just getting started! – On-site (United States in CO or NY) with some remote work (within US timezones)
Senior Swift (iOS) Developer @ Nord Security – iOS developer has an essential role in growing the NordPass product and a lot of freedom to make an impact. There is plenty of space for experiments and constant improvement. You would be a part of a very ambitious and enthusiastic team which gives a lot of support and encouragement every day. – Remote (within European timezones)
Is your company recruiting? You can post your open Swift (and Objective-C!) positions for free over at iOS Dev Jobs.
And finally...
hello. 😳
Comment
It has been a while since Apple created the Swift Server Workgroup (SSWG), and while many more workgroups have spawned since then, one aspect of the SSWG remains unique. The package incubation process.
Even looking outside the Swift workgroups, I could only find one other similar programme (thanks for the help, Adam!) from the Cloud Native Computing Foundation.
I was inspired to write about this subject when I noticed the workgroup accepted another package into the SSWG projects list this week.
A thriving open-source library/package ecosystem is vital to a successful modern language, but there’s usually a level of doubt you’ll have before choosing a dependency. It ultimately comes down to one question “Will I regret importing this dependency later?”
However, it can sometimes be hard to tell whether a package was intended to be a stable, dependable part of thousands of apps or whether it was open-sourced just in case it would be helpful to others without the author intending to commit themselves to years of maintenance duties! Both those types of packages are valuable, and everything in between, too, but having an experienced group of people focused on “encouraging the development of high quality, well maintained libraries and tools that the community can comfortably lean on” is incredible.
In the SSWG’s case, it’s all helped by the fact that Apple is doing so much work on server-side Swift in the open and all of the community server-side frameworks being open-source. That said, there’s no reason a similar process couldn’t be adopted by the community (or by Apple!) for packages focused on Apple platform development. How to determine the quality of packages is a topic that crosses my mind frequently as we think more about package discovery on the Swift Package Index.
I don’t have any conclusions to make here and certainly don’t have time to set anything up, but it’d make me happy to see interest in this area outside server-focused packages.
Dave Verwer