Sponsored Link
You're worth every penny. That’s why it's time to try Wanted
Wanted helps you find a job at your desired pay – anonymously. Just plug in a salary, and only companies prepared to meet it get to recruit you. It’s totally free, and stay anonymous until you interview. Even if you’re not actively searching … there's no harm in seeing who’s out there ready to pay your worth. Give it a try.
News
Swift 5.2 Released
Xcode 11.4, Swift 5.2, ARKit 3.5, Universal purchase for macOS and iOS apps, 20 new countries for the App Store, and new hardware too. It’s been quite a week for Apple. 🙌
Deadline for App Updates has Been Extended
Apple has extended to the deadlines for a few upcoming App Store changes. Some of these deadlines, like the one affecting HTML5 apps had already passed (March 3rd in that case) and some, like the requirement to build with the iOS 13 SDK were coming soon (an unspecified date in April).
There's no mention of extending the deprecation of UIWebView deadline for new apps which we have to presume is still happening in April. I don't think that's a huge issue though, as it doesn't affect apps already on the store.
Tools
SourceKit for Safari
What a very cool proof of concept from Kishikawa Katsumi. It's a browser extension (Safari and Chrome) that'll silently clone a GitHub repository locally and run SourceKit-LSP against it to provide quick help and navigation through Swift project source in-place on GitHub pages. 😍
AnyLint
If you use the custom rules feature of SwiftLint, then this new tool from Cihat Gündüz is worth a look. I especially like that you can define rules around file names as well as their contents. For example, you could create a rule to validate that there's always a README file in a project.
swift-outdated
If you're using the Swift Package Manager, then Kilian Koe has a helpful little tool to quickly let you know if you've got out of date dependencies. It's one to keep in the CI toolbox as the SPM gains adoption, maybe?
Code
Supporting Pointer Interactions
Here it is, pointer support in iOS... finally! Yes, you should check the official documentation for how it works, but the most likely situation you're in is converting an existing app, so I very much liked this post from Peter Steinberger. It covers the basics but also gets into some more interesting examples.
Hover effect in SwiftUI
Of course, pointer support is part of SwiftUI in Xcode 11.4 too, and here's Majid Jabrayilov showing how to use hoverEffect
and onHover
. 👈
Useful Global Swift Functions
Could you have named any of the Swift global functions? I might have got dump
, and then I'd probably have (wrongly) guessed print
. Take a tour of them with Bruno Rocha.
macOS Development
Mac App Store in a nutshell
I was so hopeful for the MAS when it first launched, but I don't think it's played out like anyone expected it to. I'd agree with Jeff Johnson:
When the Mac App Store opened in 2011, it did not require apps to be sandboxed. This requirement was added later and caused many good apps to either become abandonware or leave the Mac App Store entirely.
Applying sandboxing to an existing OS is an incredibly hard task, and having it as a requirement for a (non-exclusive) App Store was a mistake.
Design
Pointers on iPadOS
It's not every day that the HIG gets a whole new section, but it has for pointer support in iPadOS 13.4. If you're even thinking about supporting the new feature, this is where you should start. Consistency in what users can expect when using a trackpad in iPadOS is going to be critical with this.
Business and Marketing
Getting the Bigger Role
Brian Donohue with an article that's nothing about iOS development, but will help you if you're always hoping to move into that more senior position, but it just doesn't seem to be happening. As always from Brian, there's some great advice in here.
Videos
Getting Started with Combine and SwiftUI in iOS
Join Scott Gardner for a few hours with a recording of the workshop he was due to give at the postponed AppDevCon, which was instead streamed it to a small online audience. Or, if you don't quite have that amount of time, you might enjoy the talk he had planned on the same subject.
Books
Practical Combine
Now that all of your evenings are free, why not settle down with a book and learn something new? From the amount of blogging Donny Wals has been doing on Combine, you won't be surprised to hear what the topic of his book is. 👍 I had a quick read through it, and he's organised it into chapters based on what you'll actually want to do with this framework, which is great.
For full disclosure, I asked for a review copy of this book, so I could take a quick look before I linked it and Donny was kind enough to provide me with one.
MVVM in SwiftUI
How does MVVM architecture fit in with SwiftUI? That's a great question, and it's one that Azam Sharp aims to answer with his new book. Even better, it's currently available for free. I missed the release of this book when it first happened, so I was glad to catch it second time around. 👍
It's also worth mentioning that Vadim Bulavin covered the same topic in a post on his blog this week that's worth a read.
Jobs
Senior Developer Adocate @ Amazon AWS – If you've got a track record with native iOS development & enjoy travelling, meeting people, writing, & speaking, this is a really fun and flexible (remote) job opportunity! – Remote
Senior iOS Engineer @ onX – Are you an iOS developer who loves the outdoors? Bring your iOS skills to onX, where we bring our devotion to the outdoors to work daily with a singular, powerful goal; to inspire others to find their own adventures off the pavement. – Remote, or Montana
Lead iOS Engineer @ PayPal – At PayPal we're reimagining money. The Lead iOS Developer will help to build our Home Screen. You'll be working with a collaborative team, coding in Swift and Objective-C, and using our innovative technologies which give our customers a personalized and dynamic experience. Join us in democratizing financial services! – San Jose, CA
Lead Software Engineer @ WillowTree – As a Lead Software Engineer you’ll mentor a team of all levels in our new Ohio office. Your partnership and coaching skills will impact our teams, clients, and company. You’ll have clear oversight of how engineering runs day-to-day and you’ll influence project outcomes and team happiness. – Columbus, OH
iOS Developer @ Savvy – Savvy is a top creative agency and one of the first agencies to pioneer #remotelife back in 2009. Our work is regularly featured on the App Store and the industry as a whole. We have a great culture, generous benefits, and a fun, results-oriented atmosphere. – Remote within the USA
Intermediate iOS Developer @ Dr. Bill – Dr. Bill saves time for Canadian doctors by making medical billing delightful (OK... at least suck less). Join us as we accelerate our growth to dominate medical billing in Canada! – Remote, or Vancouver Canada
Is your company hiring? Could you do me a favour and let your hiring managers know that they can post free iOS development job listings on iOS Dev Jobs. Thank you. ❤️
And finally...
Some things never change... 🙈
Comment
I said last week that if I didn’t have anything to say on the Coronavirus situation, that I’d keep quiet. That lasted exactly one week as I can’t avoid talking about this report from AppFigures.
You’ll need to have an AppFigures account, with your App Store account connected to view the report, but if you do that you’ll see two years worth of app download trend data, broken down by category and country. It’s fascinating.
Want a summary? This situation has caused the most significant spike in App Store downloads in years. The numbers in the majority of categories are hugely increased over where they were a month ago, and they have been trending even higher in the last week. Of course, some categories are negatively affected. Predictably Travel is suffering, but also Finance, and quite strangely, Music. 🤷♂️ Everything else is up, but especially Business, Education, Social Networking, and Productivity apps.
Also, if you look at the data for Spain and Italy, where the situation is the most dire right now the numbers are up even further. I hope more than anything that what happened in those countries is not going to happen elsewhere, but I fear this is just the start of what we’re going to see. As a result, I expect to see the App Store numbers rise in other countries too. Will it be a spike, and then a crash again when the world starts to recover? Probably, but we could be in our current situation for a long time.
None of this is good, and I’m not celebrating any part of what’s happening, but what it does show is that our industry probably going to be less affected than the vast majority of others.
That said, it’s still a tough time for many developers. So tough in fact that there’s an effort going on across the community to support independent app developers. I urge you to check that out and help where you can, but I’m hopeful that given the numbers mentioned above that any dips in sales are temporary.
What I must say though is that while I support the efforts to support the other members of our community, I can’t write this without saying that the people who need the most help are those who don’t work in tech. While I have heard of several people who have either lost contracts or had hours reduced, we’re still incredibly lucky to be in an industry that's able to thrive in this challenging time.
I hope you're all staying safe, and doing OK.
Dave Verwer