Flexible UI Design with UIStackView
Jul 28, 2016
As I mentioned in my last post, last week I did a talk at iOSDevCamp DC where I talked about UIStackView, a relatively new UIKit class that’s my new favorite thing in iOS development. I’m going to cover some of the more useful things UIStackView can do in posts here, which will fall more or less into two categories:
Simplified and flexible UI design, making common UI patterns easier to implement and modify.
UIStackView talk at iOSDevCamp DC
Jul 26, 2016
Last week I did a talk at iOSDevCamp DC, an annual event hosted by Luis de la Rosa. I talked about UIStackView, under the admittedly grandiose title of “Mastering UIStackView”. I’ve used stack views for a number of things recently, as I’ve come to realize they’re a lot more useful than a lot of introductory material might suggest.
I’ll be writing about some of this in the very near future, but in the meantime the excellent Natasha the Robot has already done two blog posts based on stuff that I covered:
Dates and Data Models
Feb 25, 2016
Just use NSDate, right? The obvious choice for handling dates in iOS and OS X apps is NSDate. It’s obvious, right? It’s got “date” right in its name, doesn’t it?
And that’s the thing about NSDate. It’s mis-named. It almost says so right in the docs:
NSDate objects encapsulate a single point in time, independent of any particular calendrical system or time zone.
A single point in time?
File Coordination Fixed!
May 18, 2015
I wrote a post a few months ago about sharing data between iOS apps and app extensions in which I recommended using NSFileCoordinator and NSFilePresenter. But I had to update the post to remove that portion when some helpful people pointed me to Apple Tech Note 2408
Swift Generators and Sequences
Mar 23, 2015
I was going to write a blog post about how to create and use Swift generators and sequences. But while I was trying to understand them myself, I found this post over at iOSDeveloperZone
Using Core Data with Swift
Mar 16, 2015
Over the past month or so I’ve been diving into Swift, after many years of working with Objective-C on Macs and iOS. It’s been a change but, gradually, I’m learning the Swift way of doing things. On the way I’ve run into a few bumps in the road when dealing with Core Data, and I thought would be useful to share how I got past them.
Xcode Generated Subclasses Considered Harmful This is the main impetus for this post.
Sharing data between iOS apps and app extensions
Nov 20, 2014
Since iOS app extensions run as part of a host application rather than as part of their containing app (i.e. your app’s extensions run in somebody else’s app), data sharing isn’t automatic. Finding standard locations like the documents directory doesn’t work for shared data. In this post I’ll go through the details of how to make it all work.
Along the way I’ll get into how to set up real-time messaging between apps and their extensions.
iOS 8 App Extension Demo
Nov 19, 2014
iOSDevCamp Colorado was a couple of weeks ago and I did a presentation/demo on iOS app extensions. I wanted to focus on how to actually do things, so mostly I worked in Xcode rather than present from slides. But rather than paste code in as I went or (gasp!) try to do it live, I worked from a git repository I had built while developing the demo app. Every time I made a significant change, I’d commit it.
iOS 8 App Extension Development Tips
Oct 3, 2014
Recently I’ve been working on some iOS 8 app extensions, and I’ve run into a few non-obvious details that might come in handy for anyone else in the same situation. Some of the following relates to bugs still in the system, and so will probably only be relevant for a limited time.
Debugging: General The intended approach is simple: when you tell Xcode to run the extension, Xcode will ask you what host app you want to use.
CloudKit: Moves like Azure
Jun 17, 2014
After my past travails using iCloud with Core Data, I was both interested and concerned when Apple announced CloudKit at WWDC 2014. In this post I’m going to go over what Apple has planned for CloudKit from the perspective of someone wanting to sync app data via some cloud-based means. “Planned” is a key word here, because it’s still to early to say how things work in practice.