<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Quality Coding</title>
	<atom:link href="https://qualitycoding.org/feed/" rel="self" type="application/rss+xml"/>
	<link>https://qualitycoding.org</link>
	<description>Building Quality into iOS Development</description>
	<lastBuildDate>Sat, 28 Jun 2025 18:04:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://qualitycoding.org/wp-content/uploads/2020/06/favicon.png</url>
	<title>Quality Coding</title>
	<link>https://qualitycoding.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>What to Test (and What Not to Test) in SwiftUI</title>
		<link>https://qualitycoding.org/what-to-test-in-swiftui/</link>
					<comments>https://qualitycoding.org/what-to-test-in-swiftui/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 12:45:55 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23457</guid>

					<description><![CDATA[In my last post, we explored why unit testing SwiftUI is valuable — even though many argue against testing UI code. Before that, in my SwiftUI Testing Challenge, I showed some SwiftUI code and asked you to think through what you would test. One of the key questions was:What parts are worth testing, and what [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/what-to-test-in-swiftui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Beyond UI Tests: Why SwiftUI Unit Testing Matters</title>
		<link>https://qualitycoding.org/beyond-ui-tests-why-swiftui-unit-testing-matters/</link>
					<comments>https://qualitycoding.org/beyond-ui-tests-why-swiftui-unit-testing-matters/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 04 Feb 2025 12:45:13 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23417</guid>

					<description><![CDATA[In SwiftUI Testing Challenge: Can You Test This Counter App? I asked questions about testing a SwiftUI view to warm up your brains. The first question was:Would you unit test this? Why or why not?This brings us to an old debate: Should we directly test UI code? Some experts say we should keep the UI [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/beyond-ui-tests-why-swiftui-unit-testing-matters/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>SwiftUI Testing Challenge: Can You Test This Counter App?</title>
		<link>https://qualitycoding.org/swiftui-testing-challenge/</link>
					<comments>https://qualitycoding.org/swiftui-testing-challenge/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 21 Jan 2025 12:45:20 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23327</guid>

					<description><![CDATA[How do we automate tests for SwiftUI? Should we even bother? And does test-driven development (TDD) apply to SwiftUI? Table of Contents SwiftUI Testing: The ChallengeCounter DemoCounter Source CodeHow Would You Test This?Let’s TDD a SwiftUI AppSwiftUI Testing Challenge: Can You Test This Counter App?Beyond UI Tests: Why SwiftUI Unit Testing MattersDon’t miss a single [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/swiftui-testing-challenge/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Legacy Code Rescue: Taming a Thousand-Line View Controller</title>
		<link>https://qualitycoding.org/legacy-code-rescue-thousand-line-view-controller/</link>
					<comments>https://qualitycoding.org/legacy-code-rescue-thousand-line-view-controller/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 07 Jan 2025 12:45:35 +0000</pubDate>
				<category><![CDATA[iOS Refactoring & Design]]></category>
		<category><![CDATA[cp refactoring top]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23227</guid>

					<description><![CDATA[You have a view controller with over a thousand lines, and it’s a magnet for bugs. It has only 6 unit tests, so there’s not enough of a safety net to prevent developers from introducing new defects. The code is long, complicated, and touchy. Many sections of the code resist testing. What do you do?&#160;A [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/legacy-code-rescue-thousand-line-view-controller/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>XCTest Meets @MainActor: How to Fix Strict Concurrency Warnings</title>
		<link>https://qualitycoding.org/xctest-mainactor/</link>
					<comments>https://qualitycoding.org/xctest-mainactor/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Fri, 29 Nov 2024 18:26:52 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp testing framework]]></category>
		<category><![CDATA[swift 6]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23091</guid>

					<description><![CDATA[So we’re working on supporting Swift 6 by enabling full Strict Concurrency Checking. And wow, the warnings swarm in test code. Here’s a screenshot of the top part of one XCTest suite before increasing the warning level:Looks fine. Then we flip the Strict Concurrency Checking switch, and wow, do the warnings light up!All the complaints [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/xctest-mainactor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mastering TDD Techniques in iOS Projects: Practical Insights and Hands-On Tips</title>
		<link>https://qualitycoding.org/mastering-tdd-techniques-ios-practical-insights/</link>
					<comments>https://qualitycoding.org/mastering-tdd-techniques-ios-practical-insights/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 16 Jul 2024 11:45:49 +0000</pubDate>
				<category><![CDATA[iOS Test-Driven Development]]></category>
		<category><![CDATA[cp tdd top]]></category>
		<category><![CDATA[podcast]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=22925</guid>

					<description><![CDATA[What is the state of test-driven development (TDD) for iOS? What about behavioral-driven development (BDD), or domain-driven Development (DDD)? How might the new Swift Testing framework affect TDD? And what advice do I have for iOS developers who want to try TDD?&#160;Walid Sassi invited me to join him on the Swift Academy Podcast. Besides being [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/mastering-tdd-techniques-ios-practical-insights/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Xcode Behaviors: How to Set Them Up for Test Feedback</title>
		<link>https://qualitycoding.org/xcode-behaviors-test-feedback/</link>
					<comments>https://qualitycoding.org/xcode-behaviors-test-feedback/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 09 Jul 2024 11:45:05 +0000</pubDate>
				<category><![CDATA[iOS Dev Tools & Techniques]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp tools xcode]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=22904</guid>

					<description><![CDATA[Did you know that Xcode behaviors can help change your behaviors as a developer?&#160;Xcode lets us adjust its behavior on certain actions. I like to keep my development workflow centered on running tests. What’s a good setup for a test-centric workflow? Here are the settings I use to keep tests at the forefront of my [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/xcode-behaviors-test-feedback/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Conversation With Swift 6 About Data Race Safety</title>
		<link>https://qualitycoding.org/conversation-swift6-data-race-safety/</link>
					<comments>https://qualitycoding.org/conversation-swift6-data-race-safety/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 02 Jul 2024 11:45:25 +0000</pubDate>
				<category><![CDATA[iOS Dev Tools & Techniques]]></category>
		<category><![CDATA[cp tools techniques]]></category>
		<category><![CDATA[swift 6]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=22844</guid>

					<description><![CDATA[Me: Hello, Swift 6. I’d like to try migrating some code to you. But I hear your concurrency requirements can be challenging.&#160;Swift 6: Hello! I’m eager to help you create code free of data races. That’s my thing. Table of Contents Face Your Swift 6 FrustrationsMigrate Gradually with Swift 5 Feature FlagsTackle Shared Mutable StateAdopt [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/conversation-swift6-data-race-safety/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Swift Testing Template: Download My Improved Custom Template</title>
		<link>https://qualitycoding.org/swift-testing-template/</link>
					<comments>https://qualitycoding.org/swift-testing-template/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 25 Jun 2024 11:45:36 +0000</pubDate>
				<category><![CDATA[iOS Dev Tools & Techniques]]></category>
		<category><![CDATA[cp testing swifttesting]]></category>
		<category><![CDATA[cp tools xcode]]></category>
		<category><![CDATA[swift]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=22826</guid>

					<description><![CDATA[Swift Testing! The testing team at Apple has made something new… I’m quite excited, how about you? Let’s fire up Xcode 16 beta, make a new project, add a new test file… Oh. Well, that template is definitely better than the cruft we used to get. But we can do better still. Table of Contents [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/swift-testing-template/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Set up GitHub Actions for CI with Xcode</title>
		<link>https://qualitycoding.org/github-actions-ci-xcode/</link>
					<comments>https://qualitycoding.org/github-actions-ci-xcode/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 26 Mar 2024 11:45:00 +0000</pubDate>
				<category><![CDATA[iOS Dev Tools & Techniques]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp tools powertools]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=22668</guid>

					<description><![CDATA[CI tooling is an important part of building confidence in the changes developers make to the code. Here’s how I like to set up a CI build system for an Xcode project using GitHub Actions.&#160;This article describes the tricks I’ve learned for reducing the pain of the long feedback cycle of getting something to work [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/github-actions-ci-xcode/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>