Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Location Simulation in Xcode’s Simulator

Location Simulation is a critical feature for apps that provide location access. You want to mimic the environment of real users without stepping in your car and driving a route while debugging. Whether you want to simulate switching directly between two places or an entire route of waypoints: both are possible in Xcode’s Simulator. Earlier, … 

 

The operation couldn’t be completed: solving errors in Swift

“The operation couldn’t be completed” is a common error to receive from Apple’s standard SDKs or 3rd party libraries. The errors often come with an error code that doesn’t have a description, leaving you behind with unclear directions on solving the issue. I’ve been running into these errors quite often, at which I opened several … 

 

Equatable conformance in Swift explained with code examples

Equatable conformance allows you to compare one object with another. Based on whether the objects match, you can perform a specific operation. You can rely on default comparison implementations or custom logic to compare two objects. Many standard types are already comparable, but you must implement protocol conformance for your custom types. Secondly, you could … 

 

View Composition using ViewModifiers in SwiftUI

View Composition allows you to create reusable components to create enriched views. You can extract logic into reusable components using the ViewModifier protocol in SwiftUI and set up your code for reusability. I’ve been developing a set of view modifiers in RocketSim to enable TextField customizations. Combining all modifiers results in the most advanced TextField, … 

 

Introducing Roadmap: Offer Public Feature Voting

Roadmap is a new open-source framework written completely in Swift and SwiftUI, allowing you to integrate feature voting functionality for your apps. While developing apps, spending your time on the most impactful features is essential. While the definition of impactful divers it’s certainly driven by what your users want to see in your app. With … 

 

Detached Tasks in Swift explained with code examples

Detached tasks allow you to create a new top-level task and disconnect from the current structured concurrency context. You could argue that using them results in unstructured concurrency since you’re disconnecting potentially relevant tasks. While it sounds terrible to disconnect from structured concurrency, there are still examples of use cases in which you can benefit … 

 

Xcode Simulator Directories Exploration

Xcode Simulator directories allow you to find related files for your app. Unlike on a real device, you can access all folders that represent the app your building. Exploring those directories allows you to debug and optimize accordingly. Whether you’re debugging storage issues, optimizing app binary size, or looking to adjust the user defaults from … 

 

Testing push notifications on the iOS simulator

Testing push notifications in the iOS simulator make adding support for remote notifications much more effortless. You often must iterate a lot to verify that your code is working as expected. After gaining permission to receive push notifications in your app, you can start testing out several notifications. Xcode’s Simulator supports testing both regular and … 

 

Task Groups in Swift explained with code examples

Task Groups in Swift allow you to combine multiple parallel tasks and wait for the result to return when all tasks are finished. They are commonly used for tasks like combining multiple API request responses into a single response object. Read my article about tasks first if you’re new to them, and make sure you’ve … 

 

Engineering goals: How to become a more successful developer

Engineering goals create focus and help you achieve the milestones of becoming a successful developer. You’ll know better what you’ve accomplished in the past months, and make sure that you work on projects with the highest impact. Over the past years, goals helped me successfully release new versions of RocketSim and Stock Analyzer. While I …