Meet Playground: The easiest way to inspect your analytics events
Playground is a free analytics inspector for iOS. It lets you inspect tracking events, API calls and test your app directly in the browser, no technical setup required. Think about it as Charles Proxy on steroids. Give it a try!
iCloud Beta Reliability
It's been a difficult summer for all sorts of reasons in this year's beta releases, but the most concerning issues were certainly with iCloud Drive. The good news is that the changes seem to have been rolled back before the final release. I do hope we see these features and APIs back in the future, but this is good news for now. Craig Hockenberry has a great recap on the whole situation.
Popovers, UINavigationController, and preferredContentSize
Have you ever started to try and resize a popover as you change the view controller that it displays? I know I have. Have you ever found yourself manufacturing a reason that those view controllers suddenly need to be the same size? I've done that too! 😂 Noah Gilmore has written up how to get this deceptively tricky task done.
Modality changes in iOS 13
Sarun Wongpatcharapakorn with a comprehensive look at the changes to modal presentation in iOS 13. I really love the look and feel of modals in this release, but there's a few things you'll need to know to make your app really feel at home after these changes.
Trouble with form fields in iOS apps
You've almost certainly built a form in an iOS app before. It seems easy at first glance, right? It's almost always more complex than you think though. Aleksandar Vacić takes us through some of the options in terms of third party libraries, but then proposes that actually a library isn't necessarily the best approach, and introduces something slightly different. Fields.
All you need to know about UICollectionViewCompositionalLayout
It's not often that Apple introduces a new, first party collection view layout. Collection views have always been supremely flexible when it comes to layout, but most apps just end up using them with some customisations to the basic flow layout. iOS 13 brings us a brand new layout class though, and Aleksej Gurin has been digging into what it can do.
The If Statement’s Sharp Edges
Jason Zurita with something that is so true about almost everything in software development...
This is great until it isn’t 😅
In this instance, he's talking about conditional logic in SwiftUI when using a
ViewBuilder. It's something that won't be obvious until you see the error message for the first time.
Notarizing Your Mac Software for macOS Catalina
iOS isn't the only operating system to get some last minute changes before the public release. This week saw an unexpected reduction in the restrictions on which macOS apps can be notarised. If you were in the situation where you couldn't notarise previously, you may be able to now.
Less… Is More?
A hamburger by another other name? Josh Centers with a fantastic article on the prevalence of ellipsis as a vague "more" button in iOS 13.
Business and Marketing
On My Funny Ideas About What Beta Means
What does beta mean to you? Here are some potential definitions from Brent Simmons, and I really love that they are written out explicitly for NewNewsWire. It's an incredible commitment to quality above all else. 👍
I do wonder if it's possible to keep these same values as software gets past a certain size, or if these definitions are not there from day one? I've seen several people wishing that Apple would adopt the same definitions this week, but can you really and truly imagine iOS (or any software of similar complexity) having zero known bugs? We'd never get another release, ever... 😂
I want to start this week with a quick update on the SwiftPM Library. I deployed a major change at the start of this week which adds support for per version metadata. Why? Well, as libraries start to adopt SPM, it may be that the latest stable version of a library (which is what Xcode will add by default) does not yet support SPM, or the latest version of Swift, where maybe a beta version, or even the master branch does?
So, each package now shows up to three sets of metadata. Search results are still based on the default/master branch, but the metadata for the latest, and latest stable version are also shown. I hope it makes finding packages that support SPM even easier. 👍Dave Verwer