Thu Oct 03 2024 -Swift -Xcode -Books
A code generation story.
Wed Aug 25 2021 -swift -testing -tdd -xcode -refactoring
I published a YouTube video with a tutorial on implementing the FizzBuzz algorithm using Test-Driven Development. While recording, I made a couple of thinking or coding mistakes, and, sure enough, the tests immediately pointed them out.
Mon Jun 07 2021 -Xcode -XCTest -Testing -Swift
Swift 5.5 and Xcode 13 introduce the async/await pattern for concurrent code. This tutorial post shows how to write unit tests for asynchronous code in Swift using the XCTest framework.
Thu Feb 11 2021 -Testing -Combine -Xcode -XCTest
Snippets to test the behavior of Combine Publishers in XCTest ready to copy and paste into Xcode
Thu Jan 21 2021 -SwiftUI -Xcode
This free tutorial shows how to migrate an existing app with SwiftUI life cycle to use UIKit App Delegate instead
Thu Dec 10 2020 -XCTest -Xcode -Swift -Testing
The XCTest Swift testing framework has a limited offer of assertions. There's only so much you can do with XCTAssertTrue and XCTAssertEqual. This XCTest tutorial shows how to create custom assertions to make your unit tests and UI tests shorter and clearer.
Thu Nov 12 2020 -Swift -SwiftUI -Xcode -Testing
How to make the unit tests of your SwiftUI app safer and faster by preventing them from running the program startup flow. This will avoid all of the launch operations like network requests or reads from the local storage that would affect the global state.
Tue Apr 23 2019 -Xcode -Testing -Productivity
A collection of ways to run a single test or a subset of tests using Xcode.
Tue Nov 06 2018 -Testing -Xcode -Swift -XCTest
Some code ends up requiring a lot of duplication to be tested. You can remove it by using helper functions encapsulating the shared assertion logic.
Tue Oct 16 2018 -Productivity -Xcode -Automation
Leveraging "snippets" is a way to get faster at writing code and free mental resources for problem solving. Most IDEs and text editor offer this feature, where you can write code scaffolding with a keyboard shortcut.
Mon Nov 07 2016 -Xcode
Practical tips to write "Run Script" build phases in Xcode.
Mon Aug 15 2016 -Xcode -Firebase -Espresso
A guide on how to configure your Xcode project to use Google Firebase without using CocoaPods.
Mon Jun 20 2016 -Xcode -Productivity
Working with Xcode and Xcode-beta on the same machine can sometimes be confusing, this post shares some tools to help make it less so.
Wed Feb 24 2016 -Espresso -Xcode
An handy script to update all Xcode plug-ins to be compatible with the latest version of Xcode and Xcode-beta.
Fri Jan 08 2016 -Xcode -Swift -Testing
How to prevent the unit test target from loading the AppDelegate and have faster tests execution.
Sat Jan 02 2016 -Xcode -Espresso
A short post showing how to use a double slash in xcconfig files, for example to write URLs like https://mokacoding.com
Wed Nov 25 2015 -Espresso -Xcode
A simple command to run in your terminal to make sure you can use your favourite plugins on the latest version of Xcode
Tue Nov 17 2015 -Xcode -Fastlane
How to install Xcode plugins from the terminal using Fastlane, and persist them across machines.
Tue Nov 10 2015 -Continuous Integration -Travis CI -Xcode
A practical guide on how to configure Travis CI to run iOS, and OS X, tests.
Tue Nov 03 2015 -Continuous Integration -CircleCI -Xcode
A practical guide on how to configure CircleCI for to run iOS, and OS X, tests.
Tue Oct 13 2015 -Xcode
A collection of tips on how to configure the -destination option for the xcodebuild tool.
Tue Sep 29 2015 -Xcode -Automation -Productivity
How to configure Xcode to automatically set the version and build number of your projects using Git.
Fri Sep 25 2015 -Xcode -Automation -Espresso
There is a simple keyword you can use in the destination option of an xcodebuild command to always run the most recent Simulator version.
Tue Sep 15 2015 -Carthage -Xcode
Among the options Carthage, an iOS and OS X dependency manager, provides there is the --no-build one. Using this we can integrate dependencies in the form of Xcode projects rather than frameworks, keeping the repository slimmer and the CI time low. This approach is lighter than than the usual way to work with Carthage, but comes with some disadvantages too.
Wed Sep 09 2015 -Espresso -Xcode -Automation
Here's a little script that will allow you to install the Xcode Command Line Tools without having to install Xcode, nor having a logged GUI. This can come pretty handy in automated scripts or when provisioning virtual machines.
Tue Jul 21 2015 -Xcode -Carthage -Tooling
In this little tutorial we will see how to use Cathage, an OS X and iOS depencendy manager, to install libraries written in Swift 2 and Xcode 7, with a focus on the process to get testing dependencies.
Tue Jul 07 2015 -Productivity -Xcode
An introduction to the XVim plugin, that adds most Vim keybindings and features to the Xcode IDE, and how this can make you more productive as a developer.
Tue Jun 16 2015 -Acceptance Testing -UI Testing -Xcode
How to get started with UI testing in Xcode 7, recording tests and using the new APIs to assert the state of the application under test.
Tue May 12 2015 -Xcode -Automation -Productivity
How many times when working on a Mac OSX or iOS app with a team have you had a merge conflict on the project.pbxproj file? I guess more than a few, a lot more than a few. Lucky for you there is an handy tool called xUnique that will make the chances of this happening way smaller.
Tue Apr 07 2015 -Testing -Xcode -Productivity
Keyboard shortcuts are easies way to start increasing your productivity. Let's look at how to run tests in Xcode without ever touching the mouse.
Last updated: Fri Jan 08 2021 -Testing -Xcode -Terminal -Automation
How to invoke xcodebuild to run the tests from the command line and how to format its output using xcbeautify or xcpretty
Thu Oct 31 2013 -Xcode
A look at how Xcode stores information about the project and the workspace
Mon Sep 16 2013 -Xcode
A workaround for the unusual crash of Xcode 5 GM during the App Store submission process.
Hi I'm Gio I write here semi-regularly on software testing and TDD, productivity, and iOS development.
Get in touch if you're interested in working together.