Ready to move your iOS builds to M1?
Not sure how your Mac builds or tests will be impacted by changing from Intel to ARM? MacStadium's latest eBook has ideas, case studies, and best practices to take into consideration when making the switch.
Unlisted App Distribution
I didn't see this coming! As far as I can tell from this article, this is similar to an unlisted YouTube video, except you need to apply and go through an approval process to have your app be unlisted. I had a quick look at the application form and saw it asks for details about the problem your app is solving and why you would prefer it to be unlisted. I suspect this is not just a "Please make my app unlisted" process and will be subject to some additional rules. I'm sure we'll find out more as people start to use it. 😬
New SwiftUI documentation in Xcode 13.3
It always makes me happy to see Federico Zanetello talk about new SwiftUI documentation coming out of Apple. I've said it before, and I'll repeat it now. I wish there were a way Apple themselves could let us know about new documentation or significant documentation changes.
Hosting your Swift Library Docs on Github Pages
There's so much good stuff in this post from Joseph Heck. He begins by talking about the upcoming plugin changes to the Swift Package Manager and then explains how to use swift-docc-plugin and what you'll need to do afterwards to get everything hosted smoothly. 🚀
View DocC documentation on iPhone or iPad
Talking of DocC, I've not had a chance to check this out myself yet, but Jonathan Hemi has put an interesting looking tool on TestFlight. 👀
When should you use Decimal instead of Double?
Jesse Squires talks about numeric types in Swift, which led to an interesting Twitter thread which he also summarises at the end of the post. I particularly liked this explanation from Rob Napier:
Double isn’t an imprecise number format. It’s extremely precise. It just isn’t in base-10, so some common base-10 values are repeating fractions. If 1/3 were a really common value, then base-10 would be horrible, and we’d talk about storing in base-3 to avoid losing precision.
TIL about ExpressibleBy protocols thanks to Artur Gruchała. I can see these being useful in some situations, but I'd advise backing away from any ideas that involve parsing a string or taking values from specific indexes in an array! 😂
Using UIDragPreview to Customize Drag Items
When I saw the title of this post from Jordan Morgan, I thought I was about to see some flashy demo of complex content being previewed during a drag operation. What I got was so much better than what I imagined. What a lovely, subtle, and easy-to-implement technique this is. 👍
How to document accessibility as a UX designer
This fantastic article from Elise Livingston isn't new and isn't about native app design, but everything she writes is 100% relevant if you're working as (or with) designers. It says something that I've never seen design mockups that include accessibility information! If we want genuinely accessible apps, that thinking needs to start early, and the design process usually happens first.
Business and Marketing
What Doesn't Need to Be Done
This is such good advice from Allen Pike, and it's also something I am bad at! 😅 Yes, I used to be much, much worse at it, so there's some improvement there, but I'm still bad at knowing when to stop.
Videos from iOS Conf SG 2022
The last overseas trip I took before the pandemic was in January 2020 to Singapore for iOS Conf SG. The 2022 edition was virtual, like almost all conferences in the last two years, but that doesn't mean there weren't some fantastic talks to dig into!
Lead iOS Engineer @ Ramp – Are you interested in taking one of the fastest growing startups mobile for the very first time? We are looking for a lead engineer to lead a completely greenfield iOS build out for us. This would involve full architecture of the app along with building the team under you to spearhead this effort. – Remote (within US timezones)
Senior iOS Developer @ AbleTo – We want you to show up and feel your best at work. We respect your time outside of work. Our inclusive, flexible workspace prioritizes a work/life balance. We offer competitive salaries, health benefits, 401K matching, fully funded HRA, generous time off, and mental health days. – Remote (within US timezones)
iOS Developer @ onX – onX is a pioneer in digital outdoor navigation. 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. – Remote (within US timezones)
Principal iOS Developer @ Bellum AI – Bellum is part corporate venture studio, part in-house R&D. We are working on two mobile products focused on gamification. We are a fully-remote team that you will be joining on Day 0 with the opportunity to build products from the ground up. – Remote (within US timezones)
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)
iOS Developer @ Crossway – Crossway is a not-for-profit Christian ministry and exists solely for the purpose of proclaiming the gospel through publishing and other means. Join Crossway as a remote iOS Developer to work on the ESV Bible app and other exciting projects! – Remote (within US timezones)
iOS Developer (m/w/d) @ QuickBird Studios – Based in Munich, you would work on health & medical apps having a direct impact on the lives of millions of patients. At the same time, you'd work in a team that highly values great engineering: check out our GitHub page or Mobile Dev Blog with more than 130k readers to feel a bit of the vibe :-) – On-site (Germany) with some remote work (Anywhere)
iOS Engineer @ sengaro GmbH – We offer an exciting position in the heart of the Alps (Innsbruck) with technical responsibility and conceptual refinements of our long-term products. They are used in the medical field by paramedics and doctors to help saving lives every day. Become part of it and support people in emergencies! – On-site (Austria) with some remote work (within European timezones)
Mobile Software Engineer @ PrayerMate – PrayerMate helps 30,000 people each month be more consistent in their prayer lives. Join us to use your coding skills to make a difference for eternity. We're particularly looking for a software engineer with experience with Core Data and Firebase Real-Time Database and/or Firestore. – Remote (Anywhere)
Are you looking for a change of job? Check out iOS Dev Jobs for even more opportunities, and download the native iOS and macOS apps for daily notifications of new ones.
I'm sure this'll be the most heartwarming story you'll read today. ❤️
I hadn’t planned to write much about the back and forth between Apple and the government of the Netherlands that led to yesterday’s announcement. After reading the press release, it sounded like Apple were giving more detail into how developers would apply for the new entitlements after being told their original announcement didn’t contain enough detail.
Well, what Apple published yesterday certainly added more detail! Lots more. There were unexpected requirements, like needing to present a sheet which must state verbatim that “This app does not support the App Store’s private and secure payment system”. Then there was the detail that developers will still have to pay a commission of 27% on top of whatever fees their chosen payment provider has. 😅
I remember there was lots of optimism when the Epic first challenged Apple. People hoped it could lead to lower fees and fundamental changes to the App Store. However, I could only see negative outcomes and hoped it would not end in forced changes. I focused on my belief that alternate app stores would erode end-user trust in these platforms and how it’s almost impossible to get that trust back once it’s gone. I found it impossible to see a positive outcome in any aspect of the legal action, though.
As the various court cases progressed, it became clear that I was right, but mainly for a different reason than what I initially focused on. Naturally, Apple would make minimal changes to comply with each court ruling. A small change in South Korea followed by an even more specific one for dating apps in the Netherlands. Nothing sweeping or fundamental. Instead, each minor change only makes operating in the App Store more complicated.
Today’s main ire has mainly been around the commission, but I’m surprised at how much anger there is. I didn’t find it particularly surprising. If I remember right, Apple stated several times during the Epic case that alternate payment systems would make it difficult to collect their cut. I don’t think anyone expected that cut to be 27%, but would people be less angry at 25%? or 20%? I don’t think so. While the intentions in some cases (Epic excluded, obviously) might have been pure, the only ruling that could force sweeping changes is maybe a monopoly judgement of some kind.
I honestly can’t see a positive end to any of this. I think it’s now clear that all of these legal cases only make the App Store worse (something I’m sure Apple would agree with me on!), but more legal action will keep coming if Apple continues to move inch by painful inch. But, at the same time, as a for-profit company, they have a duty to their shareholders.
I know some of you will see this as unnecessarily kind to Apple, and I’ll make sure not to read this week’s unsubscribe reasons 😰 but I really don’t think anyone benefits. Apple certainly doesn’t look good. I was quite shocked at the arrogant tone of yesterday’s announcement. However, they are behaving in a predictable way for a company being told what to do by courts.
I’ve said this before too, but I would support a bigger rethink of how the App Store works. A shake-up that focuses on downloads and usage more than taking a percentage cut of financial transactions. One that makes sure that the largest companies in the world, who get massive value from the platform, pay something instead of nothing. I don’t know what that model looks like, but I can only really see changes of that magnitude putting an end to this current situation.
As it is, this is going to go on and on, and the inevitable result is a mess.Dave Verwer