Sponsored Link
Receive Detailed Feedback and Debug your iOS App 10x Faster
Instabug helps you collect feedback and bug reports from your users and testers by simply shaking their phones. Comprehensive reports are forwarded to Instabug’s dashboard including complete app data, device details, and most importantly, the reproduction steps. Integrate the SDK in less than a minute and get 20% off any plan with offer code iOSDevWeekly2019.
News
Upcoming App Store Submission Requirements
You're probably already building against the iOS 12.1 SDK but just in case you're not, you'll need to change that if you want to submit next week. Oh and if you're writing something that uses Metal 🤘 then you'll also need to be aware of the changes to memory accounting.
iOS App Analytics: A Necessary Evil, or Maybe Just an Evil?
Jared Sinclair with an article not about removing analytics – he agrees at the bottom of the post that they are necessary, but on how awful the implementation of them is. I think there are huge opportunities for companies that take a privacy and developer focused approach to analytics at the moment.
Tools
DevSwitch: Switch between storefronts on the iOS App Store with ease
Ever wanted to quickly check your App Store listing in a different country without performing the intricate steps of the store switching dance? This was originally going to be available on the App Store, but that's not going to happen. 😞 Instead, Aaron Pearce is open sourcing it. 🎉 Go install it.
Code
UTF-8 String
As soon as I read this sentence from Michael Ilseman...
You can think of String as an artisanal enum, hand-crafted using traditional bit-twiddling techniques in order to produce compact and efficient code.
… I knew I was going to enjoy the rest of the article. You don't necessarily need to know the internal storage mechanism of strings in Swift to write good iOS apps, but it can't hurt to have a passing knowledge of these changes.
Eliminating Degenerate View Controller States
State machines are a potential answer to a great number of problems in software development. Can they be the answer to the problem of displaying multiple different states in a view controller? Of course they can! Let Vadim Bulavin explain.
Self-sizing Child Views
Keith Harrison on dealing with an age old problem using child view controllers and self sizing views. He even goes into detail about how technologies like dynamic type will affect your layout. If you're interested in more Auto Layout wisdom from Keith, you may also want to check out his book on the subject, it's excellent.
Note: For full disclosure, I received a review copy of the book a few months ago.
Design
Humane by Design
Should design be "Flat", "Beautiful", "Striking"? Or should it be "Empowering", "Inclusive", "Respectful" and "Thoughtful". This site from Jon Yablonski highlights some of the humane aspects of design that might be ignored if you're thinking too much about what colour something should be. 😀
Dos and Don’ts for creating an onboarding journey on iOS
Great tips from Benoit Pasquier, the greatest tip on this subject is probably the first one. Don't make an on boarding screen unless you really need one.
Business and Marketing
Why would you delete an app within a day of installing it?
There's plenty in this thread on why users might end up watching your app icon wiggle in the springboard. For me? Immediately being prompted with a sign up/login screen when there's no obvious need for it (for example, I understand why Netflix do it, but not why MyFitnessPal does). Also, remember that every push notification is an opportunity for someone to remember your app exists and choose to delete it. 😀
Just How Impactful is Being Featured on the App Store?
Maggie Ngai with a really detailed look at what you can expect if your app is lucky enough to appear in one of the stories on the "Today" screen in the App Store. Not all "features" are equal, and I especially liked the analysis of the different story types. She ends with some tips on getting featured. Worth a read.
Up to Speed
LocalizedError, RecoverableError, CustomNSError
I've found that error handling in Swift is even more misunderstood than it was in Objective-C. If it's a bit of a mystery to you then this NSHipster article from Mattt should sort you out.
Videos
Videos from iOSCon 2019
With remarkable, WWDC-like speed we already get to watch the fantastic selection of talks from this year's iOSCon which happened in London… Yesterday! The doors are barely even closed on it. 🏎
Sponsored Jobs
iOS Engineer @ Twitch
Want to work on the world's leading video platform and paradise of memes and dreams? Join us if you like Swift, maintainable code, and fun iOS apps!
iOS Engineer at Babylon Health, London and Remote
We're looking for iOS developers at all levels to join one of the most disruptive and socially conscious AI start-ups around.
Senior iOS Engineer @ notonthehighstreet - Richmond, London
Can you help us deliver a first class mobile shopping experience to millions of customers? Join us.
And finally...
I've been experimenting with charging my Apple Pencil…
I saw this and immediately saved it as a possible "And Finally..." then scrolled a couple more tweets down and saw this which pretty much secured it! 😂
Comment
If you applied for a WWDC ticket this year then you'll have either received a purchase confirmation the dreaded commiseration email by now. I'm very happy to say that I was lucky enough to win the lottery this year! 🎉 My flight and accommodation were already booked, so I was going to be in the city anyway but it's good to know I'll be allowed in the convention centre. 💸
With an event like WWDC where demand far outstrips supply there is no perfect process for distributing tickets. I think we can all agree that the lottery system is significantly better than the old "I can click faster than you can" system which inevitably crashed the site. However, it still makes for some tense moments when banks can't quite get their act together. 😀
These days getting a golden ticket really isn't as important as it might feel though as there's plenty going on outside the McEnery Convention Center too! If you didn't get a ticket, but are still going to be in San Jose then AltConf and Layers have already announced their 2019 editions and based on previous years there may be more. There's also plenty of evening events already being announced. 🎸 The most important part of that week is the people you meet, not in which building you meet them.
But even being in San Jose isn't everything! Whether you stay watch along from home with the live stream, or attend some of the community events that are already springing up, it's going to be a fantastic week! I can't wait.
Dave Verwer