Using Coordinator With Scene Delegates
Aug 25, 2019, 9:22 AM
I have switched to using the coordinator pattern with any new work I do. I was resistant to break away from Storyboards using segues at first. But over the years I’ve learned any app of medium to large complexity breaks down under...
iOS Universal Links Tips
Aug 16, 2018, 11:04 PM
We have been expanding our use of universal links lately. While links are complicated and difficult to set up, once they are configured properly, making incremental updates to them is pretty trivial, and they are a great feature. We have...
Alfred Diffs With Kaleidoscope
Jul 31, 2018, 6:21 PM
I’ve recently started trying to identify bottlenecks in my workflow and take a little bit of time to see if I can make things a little easier with automation. It’s always a tradeoff between the time spent automating something...
Expanding on Generic Json Parsing
Apr 12, 2018, 6:21 PM
Expanded JSON Parsing with Generics
In the last post, I went over a very simple way to use generics when parsing a small object that had a value type determined at runtime. Today, I’d like to expand on that concept a bit and show...
Generic JSON Parsing
Mar 26, 2018, 3:31 PM
I have been working a lot in model layers lately. One benefit of this has been converting our older JSON parsing code over to using Swift 4’s enhanced JSON parsing capabilities. Using the Codable protocol has allowed me to delete...
CocoaConf Boston 2014
Nov 15, 2014, 7:00 PM
I attended the Boston stop of the CocoaConf tour this year.
As always, it was a quality experience. I learned a ton, and I’m still
processing all the valuable information that was crammed into my brain.
The Klein family puts together...
Unit Testing Patterns for Asynchronous Networking Communications
Oct 9, 2013, 8:00 PM
A common issue I always run into is how to test asynchronous methods,
especially networking calls. I used test the result of the calls, such as the
parsing of return data, because testing the entire method proved impossible.
I recently...
A Change in Direction
May 13, 2013, 8:00 PM
In hitting brick walls, taking road trips for work, and feeling guilty about
about posting in weeks, I have reconsidered the return on investment when fully
implementing logic tests.
Setting up iOS Logic Tests [Part 4]
Apr 7, 2013, 8:00 PM
This is part 4 in a multi-part series on iOS unit testing and
integration testing. In the last post, we discussed setting up
Core Data and the Magical Record library. This week, we’re going to set up our
logic testing bundle. Let’s get...
Orientation Changes in iOS 6
Mar 10, 2013, 8:00 PM
In a current project, I had the need to have one specific view controller
present its view in landscape orientation only. Pre-iOS 6, I would have
overridden the shouldAutoRotateToInterfaceOrientation method and...
Quick Tip: TextExpander/Octopress New Code Block
Feb 24, 2013, 7:00 PM
Just a quick tip. This blog is built using Octopress.
Octopress uses Jekkyl to create a static HTML site using markdown
files for the content. I’ve been slowly building up some markdown
specific TextExpander snippets and Keyboard...
Setting Up iOS Logic Tests [Part 3]
Feb 18, 2013, 7:00 PM
This is part 3 in a multi-part series on iOS unit testing and
integration testing. In the last post, we discussed setting
up SVProgressHUD.
Setting Up iOS Logic Tests [Part 2]
Feb 12, 2013, 7:00 PM
This is part 2 in a multi-part series on iOS unit testing and
integration testing. In the last post, we discussed setting up
the project and adding some dependencies with CocoaPods.
Today, I’m going to go through setting up some initial...
Setting up iOS Logic Tests [Part 1]
Feb 7, 2013, 7:00 PM
I’m continuing on my task to get a full project using iOS unit tests and
integration tests. My first step is to set up logic tests in Xcode. I recently
watched an excellent unit testing course on Lynda.
In that course, Ron Lisle goes...
Unit Testing Series
Jan 31, 2013, 7:00 PM
I have wanted to get better at unit testing and the tooling around it for some
time. I usually start out determined to get a good amount of the code covered
by unit tests, and to possibly get some UI tests built around user...
Keyboard Maestro macro to open in browser from ReadKit
Jan 15, 2013, 7:00 PM
I recently switched to ReadKit for reading Instapaper
articles on my mac. I switched over from Read Later (no longer available).
Read Later was my app of choice for a long time, but it is no longer in active
development. The team was hired...
Homescreen January 2013
Jan 2, 2013, 7:00 PM
I’m going to try to do a post once per month detailing my current iPhone
homescreen. If it works out well, I might also do one a month for the iPad as
well. Below is a screenshot of my current homescreen.
CodePilot
Dec 11, 2012, 7:00 PM
I’ve been using a handy little utility named CodePilot
since Xcode 3.x. CodePilot runs as a plugin and does a few things simply. It
will open any file that has been indexed in your project, and also allows for
searching symbols within a...
OCUnit - Script to Kill Simulator After Tests Run
Oct 9, 2012, 8:00 PM
I’m in the process of adding OCUnit tests to an existing iOS code base. Throughout this process, the biggest pain point I have encountered has been the simulator taking over the screen after an application test suite has run.
BackBlaze, MDS Worker, and Spotlight
Aug 21, 2012, 8:00 PM
I recently began experiencing my system fans kicking in and running all the time.
The fans began running so much that I almost didn’t notice them any more.
When I pulled the Activity Monitor up, the md worker was using over
100% of...
Xcode File Template for Kiwi Tests
Aug 17, 2012, 8:00 PM
I started using Kiwi to drive unit tests on my most recent project. Kiwi is an excellent BDD (Behavior Driven Development) framework that helps drive your code design by making test expectations very clear. It greatly increases the...
Quick Wipe of iOS Simulator Using Alfred
May 1, 2012, 8:00 PM
When I am rapidly prototyping new features, I frequently need to blow out the entire app structure from the simulator and start fresh.
To do this manually, I would follow the following steps.
From Simulator (when simulator is open)*:
1....
Persisting Data Using the Plist Format: Part 2/2
Feb 22, 2012, 7:00 PM
This is a follow up to my previous post on persisting PList data to
disk as a form of transient storage for data. This second part will just show
an easy way to pull that data from disk and get it into memory in an easily
usable...
Persisting Simple Data Using the Plist Format: Part 1/1
Feb 2, 2012, 7:00 PM
Recently, we had the need to save some simple transient data to disk. For data
of any significant size, we would have looked at Core Data for our persistence.
In this case, we decided to use the PList format to save data to disk and...
Goodbye, Steve
Oct 5, 2011, 8:00 PM
I didn’t become an Apple user until a few years ago. I came to the platform out
of curiosity. I bought myself a Macbook to start teaching myself how to code
iOS apps. I quickly found myself amazed at the ingenuity and simplicity of...
Quick Xcode 4 Tip: Deleting Derived Data to Rescue Code Completion
Sep 29, 2011, 8:00 PM
Quick Tip:
I had an issue on a very large project in XCode. Starting 2 days ago, all of my syntax highlighting was completely broken. This is bad, but even worse, my code completion worked only partially. I was getting autocomplete for...
On Discovering New APIs
Jun 10, 2011, 8:00 PM
In working with any programming language, I’ve always found that if you seem to be fighting things to get work done, you’re probably doing it wrong. This is especially true in Cocoa Touch. When I was first learning the...
Using NSXMLParser
Jun 7, 2010, 12:21 PM
This is my first stab at an iPhone project. I’m writing an app that consumes an RSS feed and parses it to retrieve a few bits of information for display on the screen. This is my first attempt at an implementation. Coming from a .NET...
About
Dec 31, 1, 6:27 PM
Hi. I'm Mark Struzinski. I've been a software developer for 15+ years, and have been doing iOS for about 7. I'm an iOS dev lead for a major retailer. I love working on the iOS ecosystem. There is always something new to learn, or a new...