Emulating Ubuntu Server X86_64 on macOS ARM64

ARM processors are becoming more ubiquitous thanks to the introduction of Apple Silicon and Qualcomm Snapdragon. These new processors offer great performance, silent operation, and all-day battery life. On the other hand, not all software is ported to this new architecture, so there could be cases when we need to run or program x86_64 devices. To solve this problem, we have several tools at our disposal. In this post, let’s explore one solution to emulate and run x86_64 software.
Read more

Working With Collections

Welcome to another installment of UIKit Learning! Today, we will dive into UICollectionView and explore how to use it effectively in your iOS apps. A UICollectionView is a versatile and powerful component in UIKit that allows you to present a grid or list of items in a highly customizable layout. Whether you need a simple grid of images, a complex layout with multiple sections and headers, or dynamic, animated updates, UICollectionView provides the flexibility to create engaging user interfaces.
Read more

Configuring a Programmatic UIKit Project

In some projects, you might not want to use Storyboards or XIBs for various reasons, such as greater flexibility and control over your views, better version control, or simply personal preference. If that’s your case, this post will guide you through the basic steps to configure a Storyboard project to work with UIKit programmatically. Step-by-Step Guide I’m using Xcode 15.4, the graphical user interface (GUI) may change in the future causing some images to be outdated or some steps to be different.
Read more

Programmatic Tab Bar

Tabs bars are one the most recognizable UI elements for an iOS apps. We can find this element in build in apps like Phone, Photos, Music, AppStore, and many more. Lucky for us, this element is quite easy to use, and in this tutorial, we’ll learn how to create a tab bar programmatically using UIKit. Let’s start! Simple example Let’s start by configuring our project to allow us to instantiate our views programmatically.
Read more

VSCode Dev Container Configurations

VSCode + Dev Containers are a great way to create custom environments without modifying our actual system. They provide a consistent development environment, ensure dependencies are managed correctly, and make it easy to share setups with your team. Here are some configurations you can use to create them. Vapor { "name": "Swift", "image": "swift:latest", "features": { "ghcr.io/devcontainers/features/common-utils:2": { "installZsh": "false", "username": "vscode", "userUid": "1000", "userGid": "1000", "upgradePackages": "false" }, "ghcr.io/devcontainers/features/git:1": { "version": "os-provided", "ppa": "false" } }, "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], "customizations": { "vscode": { "settings": { "lldb.
Read more