Sponsored Link
Get a sneak peek at the new App Center iOS Tester App
We're excited to announce that HockeyApp for App Center, our native iOS app, is now available! The app enables you to instantly distribute the latest and greatest iOS app builds to your beta testers faster, and with fewer clicks, so you and your testers can focus on testing and improving user experience. Get started with the preview.
News
WatchKit is a sweet solution that will only ever give us baby apps
Marco Arment with an article on WatchKit never being able to live up to the capabilities of the platform for as long as Apple are not also using it, and therefore feeling the pain of it.
I've been skeptical of the watch as an app platform since the first announcement, and to be honest I remain that way (although I am 100% convinced of its value as a health/fitness tracker!) but regardless of whether the wrist is a good place for apps, the issue Marco raises here is much more important. There has been a consistent history of application frameworks that do not get used by the platform vendor failing and this is exactly what we have with WatchKit now.
Oh and this tweet makes me think I might be wrong on my thoughts about it as an app platform as well!
How GDPR Will Change The Way You Develop
I haven't linked to anything on GDPR yet but it has the potential to affect every one of us as developers (yes, even if you don't live in the EU) and time is running out. I came across this article by Heather Burns this week and it's a great, in-depth guide on what you need to know. You should really get yourself up to speed on this as the fines for non-compliance can be astronomical.
Tools
Xcodeβs Secret Performance Tests
Daniel Jalkut with a great post on an undocumented feature of the XCTest framework, custom performance metrics with the measure()
function. It's not truly custom in that you can measure anything, but there's a list in the article of all of the metrics that are supported. This looks great, let's hope it gets documented and made official soon.
Handling Storyboard Merge Conflicts
Obviously you should still try and avoid conflicts in storyboard/XIB files as much as possible by sensible organisation of your project and splitting them up wherever possible, but when a merge conflict is unavoidable, Joe Keeley has written up a useful guide to your best strategy to get them resolved.
Code
SwiftNIO - Event-driven network application framework
Well what about this? A new cross platform (currently macOS and Linux, but aiming for everywhere Swift runs) asynchronous networking framework (based on Netty). Obviously the framework itself is useful, but more interesting is the way that this is being released. It was announced at a community conference rather than at WWDC, uses Jazzy, it's open source and it's accepting contributions. I really like this way of doing things. π
Xcode UI Tests with Embassy and Succulent
Francesco Pretelli with an article on using Succulent to solve the age old problem of how to test network code. Succulent (and Embassy) configure a local server and then replay canned network responses back to your app at test time. Nice technique.
Repeat: Modern alternative to NSTimer in Swift
This library from Daniele Margutti looks promising, a nicer API than NSTimer and it's based on GCD queues so it should be good for scaling if you really need a lot of timers! β°
The Big List of Naughty Strings
So the latest Unicode crash bug was fixed recently, and obviously Apple are going to take care of these on an operating system level. But do you test your apps with anything that's not standard? Maybe you should give this big list of naughty strings a look and integrate some or all of them into your test suite.
Design
Prototyping in Sketch
Prototyping support! This is a huge step forward for Sketch and I'm really happy to see it included in the base product. Build prototypes in your Sketch file and then test them either on the desktop or through the Sketch Mirror mobile app.
Interestingly, with this update Sketch now also integrates the official Apple UI design resources. The resources still get dowloaded from Apple as far as I can tell, but once that's done they are seamlessly integrated as Sketch symbols. π
Apple Park Visitor Center's Accessibility
Whatβs good design for those with accessibility needs is almost always good design for everyone else, too.
Not only good advice for physical spaces, but for software too.
Business and Marketing
iOS Introductory Prices
Introductory pricing was introduced back with iOS 11.2, but if you haven't taken a proper look at it yet then this article from Jacob Eiting might be just what you need to make sense of it.
Up to Speed
iOS remote push notifications in a nutshell
When you're just starting out with iOS development, looking into what it takes to send a push notification can feel pretty daunting. Deyan Aleksandrov has a guide on what they are and how to get them implemented in your app.
Sponsored Jobs
iOS Engineer @ Farfetch - Porto in sunny Portugal
We're looking for iOS engineers who are passionate about mobile and want to take e-commerce to the next level.
iOS Developer at MartianCraft (Remote)
Join our team of talented developers to take on some of the most challenging enterprise mobile apps.
Comment
Are you involved enough with your local iOS developer community?
A tweet caught my eye this week and it made me remember all the good experiences with various developer groups I've been involved with over the years.
I also got a message from a friend that a new meet-up was starting close to where I live, which also reminded me that I haven't been to my regular local group in far too long as I have a long standing clash of events on the evening when it usually takes place. So, I changed my priorities and booked to attend both of those next meetings and I'll make them a priority in the future too!
Meetup is completely dominant in terms of community events like this, so if you've been lazy in engaging with (or even with discovering) your local developer community, take that tweet thread I linked above, and these few words as inspiration and get out there and meet some old friends, or make some new ones. I promise it'll be worth it.
Dave Verwer