Wesley de Groot's Blog


Exploring ControlGroup in SwiftUI

In SwiftUI, a ControlGroup provides a way to visually group controls together, making your UI more intuitive and structured. It helps you present related controls


Controllig login and background items

In This post, we'll take a look at how to control login and background items on macOS. When you start your Mac, you may have noticed that some apps or items aut

iOS App States

When you're developing an iOS app, it's important to understand the different states that your app can be in, to handle them correctly and provide a smooth user experience. In this post, we'll

Using MetricKit

In this post, I will show you how to use MetricKit to collect and analyze performance data from your app.

What is MetricKit?

MetricKit is a framework introduced in iOS 13 that allows y


Build a personal brand as developer

Here are some tips to build a personal brand as a developer.

Define your brand

Start by defining your brand.

  • Who do you target.
  • What are your strengths and ski

Accessibility in SwiftUI

Accessibility in app development is all about making sure everyone, regardless of their abilities, can use your app. Apple’s SwiftUI framework makes integrating accessibil


Apple version numbers

As you may know, Apple releases new versions of its operating systems every year. The version numbers are not always the same across all platforms, and they don't always follow


It's a wrap (2024)

On **03 February 2024** I launched this (new) website, i wanted to post some more then once in 2 years, in 2024 I've released 64 articles!

February

In February I've released 11 a


Navigation in SwiftUI

Navigating the World of SwiftUI: A Comprehensive Guide

SwiftUI, Apple's declarative framework for building user interfaces, has revolutionized the way developers create apps


Deep linking in SwiftUI

Deep linking is a powerful feature that allows users to navigate directly to specific content within your app using URLs. In SwiftUI, implementing deep linking can enhance user


Building Calendo

In this blog post, we'll explore the process of building Calendo, a calendar app that helps users view their schedules quickly and efficiently. We'll cover the key features of Calendo, the techno


Mastering animations in SwiftUI

SwiftUI, Apple's declarative framework for building user interfaces, offers powerful and flexible tools for creating animations. Whether you're looking to add subtle tran


Understanding Sendable in Swift

With the introduction of Swift 5.5, Apple brought significant enhancements to concurrency, including the Sendable protocol and the @Sendable attribute. These additio


Creating a dynamic user interface for extensions in Aurora Editor

As some of you may know, I have been working on a IDE called Aurora Editor.
It is a editor that is built using Swift and SwiftUI

Understanding reducers in Swift

Reducers are a powerful concept in Swift, allowing developers to transform sequences of values into a single result.
This technique is particularly useful when you need to p

Exploring the .inspector Modifier in SwiftUI

SwiftUI continues to evolve, bringing new and powerful tools to developers.
One such tool is the .inspector modifier, introduced to enhance the user inte

Building an Asynchronous Button in SwiftUI

Sometimes, we need to perform asynchronous tasks when a button is tapped in a SwiftUI application. For example, fetching data from a network request, saving

Translation framework in Swift

Exploring the Translation Framework in Swift

With the release of iOS 17.4, Apple introduced the Translation framework, a powerful tool that allows devel

Understanding Package.swift

If you're diving into Swift development, you've likely encountered Package.swift.
This file is the cornerstone of Swift Package Manager (SPM), Apple's tool for managi

SwiftLeeds 2024, Day 2

It's that time of year again!
SwiftLeeds 2024 is here, and in this post, i'll be sharing my thoughts on the second (and last) day of the conference.

Agenda:

  • The Roast of your

SwiftLeeds 2024, Day 1

It's that time of year again!
SwiftLeeds 2024 is here, and in this post, i'll be sharing my thoughts on the first day of the conference.

Agenda:

  • From Side Project to Going Ind

Inspect: A Powerful Tool for SwiftUI Developers

As SwiftUI continues to evolve, developers are constantly seeking tools to streamline their workflow and enhance their debugging capabilities.
One such to

Enhancing SwiftUI with CachedAsyncImage

In the world of mobile app development, performance and user experience are paramount.
One common challenge developers face is efficiently loading and ca

Simplifying Game Controller Integration with GameControllerKit

In the ever-evolving world of game development, integrating game controllers across multiple platforms can be a difficult task.
E

Simplifying App Onboarding with OnboardingKit

Creating a smooth and engaging onboarding experience is crucial for any app.
OnboardingKit, a SwiftUI package available on GitHub, provides a comprehe

Simplifying multiplatform Colors

Sometimes you are building for multiple platforms and you want to use the same color across all of them.
This is where the pac

SwiftUI Development with DynamicUI

In the ever-evolving landscape of mobile app development, flexibility and efficiency are key.
One tool that stands out in achieving these goals is DynamicUI, a S

Hacktoberfest 2024

As the leaves change color and the air turns crisp, developers around the world gear up for one of the most exciting events in the open-source community: Hacktoberfest.
This annual

Safely unwrap optional values in SwiftUI bindings

Bindings are a powerful feature in SwiftUI that allow you to connect your views to your data. However, when working with optional values, you need to be ca

Understanding assertions in Swift

Assertions are a powerful tool in Swift that help developers ensure their code behaves as expected during runtime. They allow you to test assumptions and catch potential issu

A Guide to UI Testing in Swift

User Interface (UI) testing is a crucial aspect of app development, ensuring that your app's interface behaves as expected under various conditions.
This guide will

Why You Should Avoid Using AnyView in SwiftUI

SwiftUI, Apple's declarative framework for building user interfaces, introduces a variety of new concepts and tools for developers.
One such tool is `AnyVie

iOS Settings URL's

This is a list of internal URLs for settings on your iPhone, iPad, ...
Please note that this list will be updated if required, if you see something which is not right, please drop

What is @frozen

In this post, we'll explore the `@frozen` attribute in Swift, a compiler directive that can be applied to `enum` declarations to optimize memory layout and improve performance. By marking an `

Enums

In this post, we'll explore enums in Swift, a powerful feature that allows you to define a group of related values. Enums are commonly used to represent a fixed set of options or states in your code, mak

Difference between map, flatMap, compactMap

In this post, we'll explore the differences between `map`, `flatMap`, and `compactMap` in Swift. These three methods are commonly used when working

CoreSpotlight

CoreSpotlight is a framework provided by Apple that allows you to index and search content within your app. It provides a way to make your app's content searchable and discoverable by use

@ViewBuilder in Swift

SwiftUI, Apple's declarative framework for building user interfaces, introduces several powerful tools to streamline UI development. One such tool is the `@ViewBuilder` attribute, w

@Environment variables

SwiftUI provides a way to pass data down the view hierarchy using @Environment variables. These variables are environment-dependent and can be accessed from any child view. Th

Loging using OSLog

OSLog is a Swift API that provides a unified logging system for all Apple platforms. It is a replacement for the older `print` and `NSLog` functions. OSLog is a more efficient and secure log

Handle hyperlinks in SwiftUI

If you have a SwiftUI application and you present text with a URL, have you notices how the URL is being opened by Safari and not an in-app browser, and want to change that?

Generics in Swift

Swift, offers a powerful feature called generics that greatly enhances code reusability, efficiency, and safety. In this blog post, we will dive deep into generics and explore how the

Variadic Parameters

These versatile constructs allow us to handle a variable number of arguments of the same type within a function.

What are Variadic Parameters?

In Swift, variadic parameters enable a fu

If case let

This concise syntax provides a convenient shortcut when you want to match a single case without writing a full-blown `switch` statement. Although it might seem a bit backward at first, once you grasp its

Appril Festival 2024

As you may (or may not yet) know, I'd love to support and help the tech industry, today I'd like to highlight Appril Festival, i have volunteered a several times

self, Self, and Self.self in Swift

Let's dive into the fascinating world of `self`, `Self`, and `Self.self` in Swift. These seemingly similar constructs have distinct meanings and use cases.

What is `self

ExpressibleByStringLiteral URL

The ExpressibleByStringLiteral protocol is a powerful feature in Swift that allows us to create custom types directly from string literals. Essentially, i

LabeledContent in SwiftUI

As developers, we often need to display a value alongside a label, and manually arranging this can be difficult. But `LabeledContent`, a powerful and versatile view that

How to monitor network in SwiftUI

Network monitoring is crucial for maintaining robust and reliable applications. In this blog post, we’ll explore how to implement network monitoring in Swift using App

Subscripts in Swift

Subscripts provide a convenient way to access the elements of a collection, list, or sequence directly by index. Whether you’re dealing with arrays, dictionaries, or custom types, subscripts al

SwiftUI ViewModifiers

SwiftUI ViewModifiers are a powerful tool for customizing and enhancing views in your app. They allow you to encapsulate common view modifications into reusable, composable uni

Default values for UserDefaults

UserDefaults (NSUserDefaults) is a go-to database for saving users' preferences over application behavior.

What is UserDefaults?

UserDefaults is a simple key-

Implementing Sign in with Apple

**Sign in with Apple** is a user-friendly authentication method that allows users to sign in to apps and websites using their Apple ID. In this blog post, we'll

TipKit

Let's delve into the fascinating world of TipKit, a powerful framework that empowers developers to create and customize app tips.
Whether you're aiming to introduce new features, reveal hidden f

Pull-to-Refresh in SwiftUI

Pull-to-refresh is a common UI pattern in iOS apps. It allows users to refresh the content of a view by pulling down on it. In this post, we will learn how to implement pull-to-refre

ContentUnavailableView

In the ever-evolving world of SwiftUI, creating a seamless user experience involves handling empty states gracefully. Whether it's due to networking failures or empty

What is @MainActor

In the ever-evolving world of Swift, concurrency has become a hot topic. With the introduction of Swift Concurrency, developers now have powerful tools at their disposal to write more efficien

Dive into GIT

Let's dive into the world of GIT. Whether you're a seasoned developer or just starting out, understanding these commands is crucial for efficient version control and collaboration. Below, I'll intro

Localizing In Xcode

Localizing and Varying Text with a String Catalog

Your app's success hinges on delivering an exceptional experience to users across different locales. Localization is

Translating closures to async

In this post, we will discuss how to translate closures to async in Swift.

What is continuation?

In Swift, a continuation is a construct that allows you to suspend and resu

Aurora Editor

Aurora Editor: A Swift-Powered IDE for Efficient Coding

Introduction

As developers, we're always on the lookout for tools that enhance our productivity, streamline our workf

SimpleNetworking

Today i write about my Swift package .
It's a simple networking library for Swift it is a wrapper around URLS

@dynamicMemberLookup

Let's delve into the fascinating world of Swift's `@dynamicMemberLookup`. This attribute, introduced in Swift 4.2, provides a powerful mechanism for accessing properties and

async/await

Let's delve into the fascinating world of Swift's async/await.
This powerful feature, introduced in Swift 5.5, revolutionizes asynchronous programming, making it more intuitive and r

iCloud Drive Tips & Tricks

What Is iCloud Drive?

iCloud Drive is Apple's cloud-based file storage and synchronization service. It allows you to store, organize, and collaborate on files and folders across

SwiftUI property wrappers

Let's dive into the fascinating world of SwiftUI property wrappers.

These powerful constructs allow you to manage data, state, and environment information in your Sw

Xcode shortcuts

Mastering Xcode: Boost Your Productivity with Essential Shortcuts

As developers, we're always on the quest for efficiency. Whether you're a seasoned Xcode user or just starting out

Implementing Admob in SwiftUI

Recently i was working on a that required me to implement Admob in a SwiftUI app.

I encountered some issues while implementing Admob

OTP Code Generation with CryptoKit: A Swift Approach

Introduction

In the realm of secure authentication, One-Time Passwords (OTPs) play a crucial role. Whether it's two-factor authenticat

Snippet: @EnvironmentVariable

If you are creating commandline apps you sometimes need to acces the operating system environment variables, while you can use `get

New Website

New Website!

Welcome to the new website! We hope you like it.
We've been working hard to make it as easy to use as possible.
If you have any feedback, please let me know.

New Features

  • New d

Observable Geocoder

Firstly we want to import CoreLocation for the location services.

We're going to construct a basic class, which subclasses ObservableObject.


class Geocoder: ObservableOb

Easy Publishers

Ever wondered how to create a simple publisher?

In this blog i'll try to show you the basics

Firstly we need to import the required frameworks


// Used for the ObservableObject

Swipe actions in Swift

The issue:

Gestures, delegates, it can be a big struggle (especially for beginners).

If you use a lot of gestures then you’ll need to implement it over and over.
One of the problems is,

Safari in SwiftUI

You started playing around with SwiftUI, and you want to present a Safari(WebView), you search in the documentation, and..., SwiftUI has no native way to display a WebView!

To use Safari (SFSaf

x-twitter mastodon github linkedin discord threads instagram whatsapp bluesky square-rss sitemap