Add a custom view on the Status Bar in macOS with SwiftUI

The macOS status bar is a powerful and convenient place to display essential information or provide quick access to your app’s functionality. By default, the status bar displays a standard system icon, but sometimes you may want to create a more customized experience by using your own views. In this blog post, we’ll walk you through how to use a custom view on the status bar in macOS using Swift and SwiftUI.


Prerequisites

Before we get started, make sure you have the following:

Read More
 

macOS Forensis – Analyze file timestamps in deep

In digital forensics, analyzing timestamps can provide valuable insights into the timeline of events and help reconstruct a digital crime scene. This article focuses on macOS forensics and delves into the analysis of timestamps using a real-world example.

By examining the metadata of a file, specifically the “icon.png.webp” file, we will explore various timestamps and their significance in forensic investigations.


Example

Let’s start by analyzing the metadata of the “icon.png.webp” file using the “mdls” command in macOS, generally located in /usr/bin/mdls.

Read More
 

Simplifying Data Persistence with Property Wrappers in Swift

In modern software development, data persistence plays a crucial role in preserving and accessing user preferences and app state across sessions. With the release of Swift 5.1, a new feature called property wrappers was introduced, which allows developers to encapsulate and automate common behaviors associated with property access. In this article, we will explore how property wrappers can simplify data persistence using a practical example.


Code Example

Let’s consider a scenario where we want to persist various user settings in our app, such as the user’s name, preferred currency, color scheme, profile picture, and the ID of the latest order placed. We can leverage the power of property wrappers to achieve this in a concise and efficient manner.

Add a property wrapper

In this way we add a @Storable property to use in your application.

Read More
 

File Encryption and Decryption in Swift using AES Algorithm

Data security is of utmost importance when dealing with sensitive information. Encryption plays a vital role in safeguarding data from unauthorized access. In this technical blog, we will explore how to encrypt and decrypt files in Swift using the Advanced Encryption Standard (AES) algorithm. We will provide a Swift implementation that demonstrates the encryption and decryption process using a symmetric key.


Final project

This tutorial allow you to create a simple macOS status bar application (with registered file handle: “Open with…”) for crypt and encrypt file, instantly and easily:


AES Encryption and Decryption:

AES is a widely used encryption algorithm that provides a strong level of security. It operates on fixed-size blocks of data and supports key sizes of 128, 192, and 256 bits. AES uses symmetric encryption, meaning the same key is used for both encryption and decryption.

Read More
 

Debug (and control) your Robotic Arm with iOS

This is my work in progress ~50cm Robotic Arm with 6 AXIS Servo motors, an Arduino and a RaspberryPi (for image recognition in phase 2):

Arduino Robotic Arm 6AXIS iOS controlled

While writing the C++ code in Arduino I found I needed a way to send easily and fast commands to Arduino with my iPhone using Bluetooth.

Basically I need to control my robotic arm using an external device instead of running and running again the code on the Arduino board.

For this reason: I’ve attached a BLE board to Arduino and I have created a simple app (completely written in SwiftUI 😍😎) that use BLE connection to connect to Arduino BLE board and send string commands that are parsed and executed.

Commands sended are like:

Read More