Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

How to use @ScaledMetric in SwiftUI for Dynamic Type support

The @ScaledMetric property wrapper in SwiftUI allows you to adopt custom values to dynamic type settings. Your custom values will scale proportionally whenever the user changes the dynamic type setting. While elements like text scale are automatically based on the Dynamic Type setting, other values like padding or image sizes might not. Connecting these to … 

 

App Preview Videos Capturing using the Xcode simulator

App Preview Videos allow you to increase the visibility of your app in the App Store. While it’s best to validate whether it leads to higher conversions, it’s certain a moving demo will catch the attention quicker. Creating a qualitative App Preview Video can be time-consuming, especially since Apple has several specifications to which your … 

 

Status bar overrides in the iOS Simulator

Status bar overrides in the iOS Simulator allow you to change the appearance of the network, cellular, time, and battery. You can use this feature to beautify your screenshots and ensure a consistent appearance across, for example, your App Store screenshots. While functionality for overriding the iOS status bar has existed since Xcode 11, it … 

 

ScrollView Bounce Behavior configuration in SwiftUI

A ScrollView bounce behavior configuration allows you to define whether a scrollable view bounces when reaching the end of its content. Whether it’s a horizontal or vertical scrolling list, you can configure both directions using view modifiers in SwiftUI. There are common scenarios for us to build when it comes down to lists. You might … 

 

Concurrency-safe global variables to prevent data races

Concurrency-safe global variables help you prevent data races and allow you to solve strict-concurrency-related warnings. Since you can access global variables from any context, ensuring access is safe by removing mutability or conforming to Sendable is essential. As a developer, you must prevent data races since they can make your apps crash unexpectedly. When preparing … 

 

@Observable Macro performance increase over ObservableObject

The @Observable Macro was first introduced during WWDC 2023 to replace ObservableObject and its @Published parameters. The macro allows you to remove all published properties while still being able to redraw SwiftUI views when a change occurs automatically. I highly recommend replacing your ObservableObject instances since the new macro prevents unnecessary SwiftUI redraws. As part … 

 

Swift Newsletters: How to stay up to date as an app developer

Following the Swift Evolution can be time-consuming, but Swift newsletters enable you, as an app developer, to stay current. The language is moving fast, and new features appear every year. While you might be able to develop apps without adopting new features immediately, finding a structured way to keep yourself in the loop is necessary. … 

 

SwiftLee 2023: A Year in Review

Time flies when you’re having fun, and 2023 has definitely been one of those years. It’s been a year full of achievements, international conferences, and many articles & newsletters. It’s also been the year of Apple Vision Pro, Xcode 15, and Swift 5.9. If you follow my newsletter, you’ll know I like working structured with … 

 

Using campaign links to track impressions, downloads, and sales

Campaign links open your App Store product page and allow you to track the performance of your marketing channels. As an app developer, it’s crucial to understand how users discover your app. For example, many new users find Daily via the web, primarily via organic search (Google Search), paid ads (Google Ads), social media (mainly … 

 

Symbolicate crash logs with Xcode

When you receive an unreadable crash report, you can symbolicate crash logs with the help of Xcode. As a developer, it’s essential to identify symbols and ensure you can fix a crash that potentially affects many of your app’s users. Many of us will benefit from an online platform like Firebase or Datadog, which will …