Sponsored Link
Find Your Next iOS Dev Job Through Hired
Hired is home to thousands of actively hiring startups and Fortune 500 companies. Create a free profile, name your salary, and connect with hiring managers looking to grow their teams.
News
Farewell buddybuildā¦ again
Well, this is sudden! buddybuild hasnāt been taking new customers since being acquired in 2018, but to shut down with less than a monthās notice is shocking.
I was always sceptical that whatever Apple planned to do with buddybuild would look like a hosted CI service. It would have made some sense, but I couldnāt see them getting involved in that business. I suspected that team (who were exceptionally talented) might go and work on something related, but not a hosted CI service.
We donāt know the full story here, and likely never will, but itās possible that the team did go and work on something different, and this is just the end of what we knew as buddybuild. I think thatās unlikely at this point, but itās possible. Less than one monthās notice isnāt a positive signal, though. š
Mobile Native Foundation
There are plenty of individuals and small teams writing about their iOS development experiences, but it's a little rarer for people to discuss the issues and challenges facing larger teams publicly. The project's primary focus for today seems to be the discussion forums, but Keith Smiley also talks about some of the open-source contributions in this blog post.
Tools
Kaleidoscope and the Xcode Debugger
I was pleased to see Kaleidoscope get new owners recently. It's a great app that I've used for many years, but it hadn't received much love in recent years. That's all changes now, with this very cool Xcode integration feature. Snapshot a variable using a custom LLDB command, then snapshot it again later, and instead of looking through lines of LLDB output, you'll see a diff. š
Code
Core Store
Core Data works well with new technologies like SwiftUI and Combine, but does it feel at home with them? It does not. Like Daniel Steinberg, I would love to see Apple's take on what a persistence framework looks like in 2021. This is my big hope for this year's WWDC.
... and it'll probably be my big hope for next year's WWDC too š
How does the SwiftUI Environment work and can it be used outside SwiftUI for Dependency Injection?
Joseph Lord asks a good question about the SwiftUI environment. The answer? Well, you should read the post, but of course, the answer is "kinda". š It also gives him a chance to talk about his MicroInjection framework, with even more detail in this follow up post.
Be careful with Obj-C bridging in Swift
Are all uses of as
the same? They are not, and you might be leaving yourself open to some obscure crashes if you're bridging to Objective-C. Bruno Rocha explains more.
macOS Development
Adding Services to Grocery for Mac
If you want your macOS app to really stand out with people who have used the platform for a long time, then you'll want to think about the Services menu. What if your app is primarily a Catalyst app though? Is that even possible? The fact that Conrad Stoll has written a whole article about it should give you a hint! š
Business and Marketing
I'm going to reveal to you my ultimate secret
I wasn't sure whether to link to this tip from Cabel Sasser. Will it get too much attention from you know who? š¤« I decided to go for it, mainly because I already saw it being widely shared. I hope this isn't the last straw,though!
Why am I linking it? Well, it's a fantastic way to move people towards a solution that will make them happy, and isn't that what we're all trying to do? Quite how that became against the rules is maybe a better question to ask. š
Videos
Analyse, Design & Code the ClubHouse app with SwiftUI
This video from Franck Ndame on recreating the Clubhouse UI from scratch is incredibly well-produced and enjoyable to watch. Follow it up by checking out the Figma design and source code.
Jobs
macOS Platform Engineer @ Vectorworks ā Super Bowl half-time shows, the World Trade Center Memorial, and the Oscarās stage were designed using our 3D modeling software. With over 685,000 global users in the Entertainment, Architecture and Landscape industries, we are building a Vectorworks community who are influencing the next generation of design with our software on both Mac and Windows. Join us! ā Columbia MD
iOS Engineer @ onX ā onX is a pioneer in digital outdoor navigation, where we bring our outdoor passion to work every day with a singular goalāto awaken the adventurer in everyone. We do this by engineeringĀ industry-leading technology, and by crafting dynamic outdoor experiences.Ā Come join a team that empowers millions of outdoor enthusiasts to explore the unknown! ā Remote within the US
Senior iOS Engineer @ National Public Radio ā This is a unique opportunity to join a dynamic team working to improve our iOS products. ā Washington DC
Senior iOS Software Engineer @ TeamSnap ā If you find sharing party parrot emojis in Slack amusing, TeamSnap is the place for you. We've been remote since before remote was cool. You'll work on a team with big ideas and tiny egos to develop a product that has been featured by Apple at WWDC (Worldwide Developer Conference) and has 23+ million users. ā Remote within the US
Principal iOS Software Engineer @ Tripadvisor ā Great opportunity to work with the latest Swift and Swift UI iOS development technology on MVVM architecture. Help drive key architectural discussions and designs leading from the front as a technical authority within the talented iOS team. ā Boston MA
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. As we revolutionize the way people manage their expenses, being part of the Expensify team means building the easiest, fastest, and most efficient platform to automate everything expense-related. ā San Francisco, Portland, Michigan, New York, London, or Melbourne
Senior iOS Software Engineer @ Doximity ā Doximity, the medical network used by over 70% of US clinicians, is hiring passionate Senior iOS engineers (remote-friendly!). You'll get to be part of an amazing product team and work on an app that is constantly evolving. Use your skills (Swift, MVVM, FRP) to be an integral part of our newly launched telemedicine feature. Apply today! ā Remote within the US
Mobile Automation Build Engineer @ Doximity ā Come work on a small team, inside a fast growing, largely remote company! In this role, you will maintain the mobile (iOS and Android) CI/CD pipelines, and ensure our app continues to make the lives of healthcare professionals better on a daily basis. ā Remote within the US
iOS Engineer @ Turo ā Help us build product features that delight guests who book vehicles on our platform and enable hosts with the tools they need to manage their fleet. The iOS team is actively transitioning our iOS codebase from Objective-C to Swift, and weāre learning SwiftUI togetherāin labsāas we migrate our internal, watchOS, and tvOS apps. Itās really an exciting time to be an Apple-centric engineer at Turo. ā San Francisco CA
Are you hiring? Get your open iOS development positions listed right here by posting a Featured Listing over at iOS Dev Jobs.
Comment
One of my wishes for last yearās WWDC was that weād see Xcode level up its support for projects opened from a
Package.swift
file. Compared to working with anxcodeproj
orxcworkspace
project, it can feel a little bit like youāre using āXcode Liteā when working on a Swift package or server-side Swift project.So, I was delighted to come across SE-0303 ā Package Manager Extensible Build Tools, currently in review. It proposes a new
plugin
target type in a Swift package used to invoke custom commands during a build. The most obvious benefit of this would be to finally allow tools like SwiftLint to be used withPackage.swift
projects, but many other use-cases are immediately apparent.SE-0303 has significant implications for those of us working with Swift on the Server too. Most notably, allowing our front-end (CSS/JS) build process to become part of the core product build process, rather than being off to one side. I have lots of thoughts around integrating existing web technologies with server-side Swift, but they will have to wait for another day!
It still feels strange to have two entirely different ways of managing a Swift project inside one tool, though. Iām sure there were many good reasons for the decision, but it is a curious one! Iām hopeful that SE-0303 will not stand alone and that some of the goodies that the Xcode team will unveil in a few months move us towards a more unified set of tools between these two ways to organise Swift projects.
Dave Verwer