<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Scott Berrevoets - iOS Development</title><link>https://scottberrevoets.com/</link><description/><atom:link href="https://scottberrevoets.com/feeds/ios-development.rss.xml" rel="self"/><lastBuildDate>Fri, 19 Sep 2025 00:00:00 -0700</lastBuildDate><item><title>Localization troubles with Swift PM</title><link>https://scottberrevoets.com/2025/09/19/localization-troubles-with-swift-pm/</link><description>&lt;p&gt;A few weeks ago we got bit by a piece of Apple magic in its localization
workflow when combined with Swift PM. The problem we ran into was that as soon
as we moved all our &lt;code&gt;Localizable.strings&lt;/code&gt; files to an SPM package, none of the
localizations would be picked …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Fri, 19 Sep 2025 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2025-09-19:/2025/09/19/localization-troubles-with-swift-pm/</guid><category>iOS Development</category><category>Debugging</category></item><item><title>Re-binding self: the debugger's break(ing) point</title><link>https://scottberrevoets.com/2018/08/08/re-binding-self-the-debuggers-breaking-point/</link><description>&lt;p&gt;&lt;strong&gt;Update 07-29-2019: The bug described below is fixed in Xcode 11 so this blog
post has become irrelevant. I'm leaving it up for historical purposes.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For the Objective-C veterans in the audience, the strong-self-weak-self dance is
a practice mastered early on and one that is used very frequently. There are …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Wed, 08 Aug 2018 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2018-08-08:/2018/08/08/re-binding-self-the-debuggers-breaking-point/</guid><category>iOS Development</category><category>Debugging</category><category>Developer Experience</category></item><item><title>Using Interface Builder at Lyft</title><link>https://scottberrevoets.com/2017/03/06/using-interface-builder-at-lyft/</link><description>&lt;p&gt;Last week people realized that Xcode 8.3 by default uses storyboards in new
projects without a checkbox to turn this off. This of course sparked the
Interface Builder vs. programmatic UI discussion again, so I wanted to give some
insight in our experience using Interface Builder in building the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Mon, 06 Mar 2017 00:00:00 -0800</pubDate><guid>tag:scottberrevoets.com,2017-03-06:/2017/03/06/using-interface-builder-at-lyft/</guid><category>iOS Development</category><category>Developer Experience</category><category>Technology Adoption</category></item><item><title>Keeping the Lyft iOS App Accessible</title><link>https://scottberrevoets.com/2017/01/18/keeping-the-lyft-ios-app-accessible/</link><description>&lt;div class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;This article was written by me but originally published on the &lt;a href="https://eng.lyft.com/keeping-lyft-accessible-53155f0098b9"&gt;Lyft
Engineering Blog&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;At Lyft we’re in a unique position: every day we work on an app that affects
people in the real, physical world — not just the digital one. This has an
especially large impact on …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Wed, 18 Jan 2017 00:00:00 -0800</pubDate><guid>tag:scottberrevoets.com,2017-01-18:/2017/01/18/keeping-the-lyft-ios-app-accessible/</guid><category>iOS Development</category><category>Engineering Culture</category></item><item><title>Silencing NSLog</title><link>https://scottberrevoets.com/2016/08/01/silencing-nslog/</link><description>&lt;p&gt;When your app has a lot of third-party dependencies, what often happens is that
those libraries log a bunch of things to the Xcode console to help their own
debugging. Unfortunately, a lot of these logs are useful only to the developers
of the library, but not the developers of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Mon, 01 Aug 2016 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2016-08-01:/2016/08/01/silencing-nslog/</guid><category>iOS Development</category><category>Debugging</category><category>Developer Experience</category></item><item><title>Outlets: strong! or weak?</title><link>https://scottberrevoets.com/2016/03/21/outlets-strong-or-weak/</link><description>&lt;p&gt;There are a lot of styles out there when it comes to using Interface Builder
outlets in Swift. Even Apple's documentation and sample code isn't always
consistent. The most common one, the one Apple uses in its sample code, follows
this pattern:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;@IBOutlet private weak var someLabel: UILabel!&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Let's break …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Mon, 21 Mar 2016 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2016-03-21:/2016/03/21/outlets-strong-or-weak/</guid><category>iOS Development</category></item><item><title>@objc class prefixes fixed in Xcode 7 beta 4</title><link>https://scottberrevoets.com/2015/07/23/objc-class-prefixes-fixed-in-xcode-7-beta-4/</link><description>&lt;p&gt;Back in December I &lt;a href="/2014/12/15/at-objc-creates-a-wrong-class-name-in-objective-c/"&gt;wrote&lt;/a&gt; about what I thought was a bug in the Swift compiler that would expose the wrong class name for a Swift class in Objective-C. I then later &lt;a href="https://devforums.apple.com/message/1072175#1072175"&gt;found out&lt;/a&gt; everything worked as intended and I had just misunderstood what &lt;code&gt;@objc()&lt;/code&gt; exactly did. Apparently it was …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Thu, 23 Jul 2015 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2015-07-23:/2015/07/23/objc-class-prefixes-fixed-in-xcode-7-beta-4/</guid><category>iOS Development</category><category>Debugging</category></item><item><title>The power of UIStackView</title><link>https://scottberrevoets.com/2015/06/13/the-power-of-uistackview/</link><description>&lt;p&gt;I was in the audience for "Implementing UI Designs in Interface Builder" at WWDC, where Apple touted &lt;code&gt;UIStackView&lt;/code&gt; as a new, better way to lay out your views that in a lot of cases didn't require Auto Layout.&lt;/p&gt;
&lt;p&gt;While the presentation looked good, I wasn't quite sure this solved a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Sat, 13 Jun 2015 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2015-06-13:/2015/06/13/the-power-of-uistackview/</guid><category>iOS Development</category><category>Developer Experience</category></item><item><title>@objc creates a wrong class name in Objective-C</title><link>https://scottberrevoets.com/2014/12/15/objc-creates-a-wrong-class-name-in-objective-c/</link><description>&lt;p&gt;A few months ago, I decided I'd get started porting &lt;a href="https://github.com/sberrevoets/SDCAlertView"&gt;SDCAlertView&lt;/a&gt; to Swift, but I was only a few minutes in until I ran into a problem I had no idea how to solve: I couldn't get my class names right in both Swift and Objective-C. Even though there are …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Mon, 15 Dec 2014 00:00:00 -0800</pubDate><guid>tag:scottberrevoets.com,2014-12-15:/2014/12/15/objc-creates-a-wrong-class-name-in-objective-c/</guid><category>iOS Development</category><category>Debugging</category></item><item><title>Dev-only iPhones</title><link>https://scottberrevoets.com/2014/10/20/dev-only-iphones/</link><description>&lt;p&gt;With today's release of iOS 8.1, most app developers are looking at 4
significantly different iOS versions they will be supporting: iOS 7.0, iOS 7.1,
iOS 8.0, and iOS 8.1. Factoring in the number of devices (iPhone 4S, iPhone 5,
iPhone 5s, iPhone 6, and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Mon, 20 Oct 2014 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2014-10-20:/2014/10/20/dev-only-iphones/</guid><category>iOS Development</category><category>Testing</category><category>Developer Experience</category></item><item><title>UIMenuController and the responder chain</title><link>https://scottberrevoets.com/2014/09/15/uimenucontroller-and-the-responder-chain/</link><description>&lt;p&gt;The responder chain is a very important paradigm in the world of iOS development, and not terribly hard to understand. Dozens of articles have been written about it, and with some examples, the concept of finding a responder to a certain event by traversing a chain of potential responders is …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Mon, 15 Sep 2014 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2014-09-15:/2014/09/15/uimenucontroller-and-the-responder-chain/</guid><category>iOS Development</category><category>Debugging</category></item><item><title>Xcode &amp; Objective-C Oddities</title><link>https://scottberrevoets.com/2014/08/10/xcode-objective-c-oddities/</link><description>&lt;p&gt;Any developer that has worked with Xcode to write a little more than just "Hello, World" knows that Xcode and Objective-C have their quirks. Chances are you have heard of &lt;a href="https://twitter.com/TextFromXcode"&gt;@TextFromXcode&lt;/a&gt;, the Twitter handle that portrays Xcode as a high school bully in fake text conversations like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Xcode Bully" src="https://cl.ly/image/0I2P191S0Q2k/20140227.PNG"&gt;&lt;/p&gt;
&lt;p&gt;But it's …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Sun, 10 Aug 2014 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2014-08-10:/2014/08/10/xcode-objective-c-oddities/</guid><category>iOS Development</category><category>Debugging</category><category>Developer Experience</category></item><item><title>Objective-C prefixes: a thing of the past?</title><link>https://scottberrevoets.com/2014/07/25/objective-c-prefixes-a-thing-of-the-past/</link><description>&lt;p&gt;This past week, there was, again, a lot to do about Objective-C and prefixing. To most iOS developers, the story sounds familiar: one camp is strongly in favor, another camps is strongly against, and a third camp couldn't really care less.&lt;/p&gt;
&lt;p&gt;Unless I'm unaware of any other platforms where the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott Berrevoets</dc:creator><pubDate>Fri, 25 Jul 2014 00:00:00 -0700</pubDate><guid>tag:scottberrevoets.com,2014-07-25:/2014/07/25/objective-c-prefixes-a-thing-of-the-past/</guid><category>iOS Development</category><category>Technology Adoption</category></item></channel></rss>