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
 

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
 

Unlocking the Power of AWS IoT SDK: use MQTT with GPS on iOS


The Internet of Things (IoT) is transforming the way we interact with the world around us. AWS offers a robust suite of services for developing and managing IoT solutions, including the AWS IoT SDK for iOS and Android. In this detailed article, we will explore how to effectively utilize the AWS IoT SDK to create a sample iOS application that leverages MQTT protocol for sending GPS locations.

Prerequisites:

To get started, you will need the following:

  • An AWS account with access to AWS IoT resources.
  • Basic knowledge of iOS development using the Swift programming language.
  • Familiarity with Android development using either Java or Kotlin.

Step 1: AWS IoT Configuration:


Learn how to configure AWS IoT to establish a seamless connection between your devices and the cloud. Follow these steps:

Read More
 

Swift – Simple full screen loader

Hello,

resuming an old post, that help you to create an UIAlert extension to show a modal popup, https://www.albertopasca.it/whiletrue/objective-c-modal-view-in-navigation-and-tabbar-controller-projects/ , I’ve created a new modern implementation that use UIWindow.

The scope is to show a spinner (or a Lottie spinner, or whatever you prefer), centered in the screen with automatic or manually dismission. Background can be blurred or colored, like this screen:

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