Sponsored Link
Build a better mobile experience by embedding in-app support
With Zendesk's Mobile SDK, you can join Strava, Instacart, and Venmo in bringing rich, native, in-app support to your app. Use coupon code "DEV280" at the end of your 30-day trial to get a $177 discount. Try it out today.
News
WWDC Scholarship Details Now Available
If you qualify for a WWDC scholarship and can be available during that week, you should apply. It's that simple. You get access to the best version of WWDC that exists with plenty of really valuable events and open doors that regular WWDC attendees just don't get. With lodging being included this year as well, I'm so happy to see Apple continue to expand and support this programme. 👍
Tools
Kite Compositor
This looks amazing! It's a new animation and prototyping tool for macOS which looks to be very powerful. Not only can you quickly put together a simple animation but there's in-app scripting and KiteKit which can bring your creations directly into your app once you're done designing them. I'm very hopeful for the future of this!
struct
What if you could dynamically build your Xcode project file dynamically from a "source" YML file and the content of your file system? Well, if you'd like to see what that'd look like then look no further! 🚀
Code
Pageboy
Merrick Sapsford with a UIPageViewController replacement that solves some really common problems with the original class such as infinite scrolling and better data source/delegate controls. Looks great.
Looking at Model-View-Controller in Cocoa
Matt Gallagher with a fascinating history of MVC on Apple platforms. Starting with Smalltalk and bringing us right up to date, and even looking at possibilities for the future. He also asks the question of whether the pattern we've been happily using for the last 20 years is still good enough.
That One Optional Property
Soroush Khanlou with a fantastic post on how you can avoid adding additional, optional properties to your view controllers as they grow.
Safeguarding Equatable Implementations
Ole Begemann with a very smart technique for making your implementations of Equatable more robust by using dump
.
Design
LottieFiles
I linked to Lottie, the animation framework from AirBnB just a few issues ago and now it's been followed up with a repository of freely downloadable animations for the library. The only issue is that there's no mention of what license the files that are being downloaded have but I'm sure that'll get sorted out soon.
Please Use Animation Responsibly
Naema Baskanderi with a great article on making sure you don't overuse animations, or slow users down with them. There's some good, practical advice in here.
Sponsored Jobs
Senior iOS Engineer @ Twitch
Want to work on the world's leading video platform and community for gamers? Join us.
Senior iOS Developer @ Agoda.com in Bangkok
Join us @Agoda.com - one of the world's largest online travel accommodation platforms.
Comment
So as you're probably aware, there's been a bit of a shakeup around App Store review guidelines this week. There have always been recommendations in that document that have were either a little vague, or were just not enforced consistently (yes, advertising in push notifications I'm looking at you!) but this week, it seems that apps that change their functionality using JavaScriptCore have come under fire and are being rejected from the store.
It all started with a thread on the developer forums where some apps were being rejected for using Rollout (Just for full disclosure, Rollout have been a sponsor here on iOS Dev Weekly several times). At the same time, Apple also made a change to lock down the remaining fields in iTunes Connect so that nothing could be updated without without an app review. The iTunes Connect change has since been reverted, but the main issue is still ongoing.
The problem with all of this is not the change in the interpretation of the guidelines. I'm 100% comfortable with the fact that there should be a consistent experience for developers using only native development frameworks as well as these other tools and services that allow post-review changes to be made. The issue I have is how it's being enforced by Apple, and as you'd expect it's all down to communication, again.
We still only have anecdotal evidence on what has actually happened and while that continues both the creators of these tools, and the developers who are using them are left in this difficult/impossible situation of not knowing what's going to happen to their apps. It'll probably take a couple of weeks to see full impact of this, and I really feel do for you if you have an app that's being affected by the changes.
People build businesses on the App Store and to have the possibility of changes like this being enforced with zero notice after years of them being fine on the App Store is completely unacceptable in that situation. If this change is intentional (which we can only assume it is) then it should have come with a detailed description of what's happening and a notice period to give app owners a chance to react and continue to run their apps.
Apple can definitely do better at handling situations like this.
Dave Verwer