2026

April

Post
Improve In App Video Guides with Picture-in-Picture in SwiftUI
April 18, 2026 - 5 min read

When we build features like widgets or Safari extensions in our app, short video guides can help our users follow the setup steps that must be performed ...

2021

October

Post
Flutter: Two-way communication between a WebView and a web page
October 17, 2021 - 7 min read

Displaying web content in an app is quite easy and straightforward with WebViews but what happens when we want to open a communication channel between th...

Post
Exploring Flutter's Scrollable.ensureVisible
October 10, 2021 - 10 min read

Have you ever had to build an app with a scroll view of multiple widgets with different heights, and you wanted to add a link so that the user can automa...

2020

July

Post
Quick and simple load testing with Apache Bench
July 15, 2020 - 4 min read

Apache Bench or ab for short, is a command-line tool to perform simple load tests on an HTTP server, be it a website or an API.

Post
Dart extensions to flatten Flutter's deep nested widget trees
July 7, 2020 - 4 min read

In version 2.7, Dart introduced extensions to allow developers to add further functionality to an existing component. Extensions can be a great tool in o...

June

Post
Use AppleScript to generate an enum for SF Symbols
June 28, 2020 - 11 min read

SF Symbols is a great way to add symbols in apps. Introduced during WWDC 2019, and with a new updated version this year, the SF Symbols app now provides ...

Post
Keyboards options for SwiftUI fields
June 21, 2020 - 8 min read

One of the ways to improve the user experience when they fill a form on iOS apps is the use of keyboard types. Keyboard types can be used to show differe...

Post
GraphQL mutations for iOS apps (with the help of Combine's Future)
June 14, 2020 - 11 min read

Nowadays, more and more apps rely on a server to support their functionality. One part of this communication is the ability of the app to create new and ...

Post
Mutations on a GraphQL server built with Vapor
June 7, 2020 - 10 min read

One characteristic of a complete API is its ability to allow clients to modify the server-side data. This can be in the form of creating new entries, upd...

May

Post
Custom GraphQL types on Swift projects
May 31, 2020 - 11 min read

By default, GraphQL supports only a handful of basic types that we can use on the schema definition. This list includes Int, Float, String, Boolean and I...

Post
Swift ❤️ GraphQL: How to create a GraphQL server with Vapor and an iOS app as a client
May 24, 2020 - 8 min read

Nowadays, it’s quite common for many iOS apps to rely on the communication with a server to deliver their services to the user. And while in most cases t...

Post
Continuous Integration with GitHub Actions for a Scala project
May 17, 2020 - 7 min read

In this post, I am going to walk you through the process of setting up a CI(Continuous Integration) workflow with GitHub Actions on a Scala project.

Post
How to add a shield on the App Icon of beta builds
May 10, 2020 - 6 min read

Have you ever ended up in a situation where you have multiple builds of the same app installed on a device and you find it hard to figure out the configu...

Post
Setting up a new iOS project (Part II)
May 3, 2020 - 7 min read

This is the second part of a series of posts about the steps that I usually take when creating a new iOS project.

April

Post
Setting up a new iOS project (Part I)
April 26, 2020 - 7 min read

What are the initial steps that you take when creating a new iOS project? Regardless of the language or the framework, it’s quite common when creating a...

Post
A Scala script to take full size webpage screenshots for different screen dimensions
April 19, 2020 - 8 min read

Today, I had yet another usual Sunday morning. Drinking my tea, doing some UI experiments on this blog and using Chrome’s DevTools and the Device Mode to...

Post
Notifying users when an iOS app update is available on AppStore
April 12, 2020 - 11 min read

Have you ever been into a situation where you would love to see all of your users to update to the latest version of your app?

Post
Help your user rate and review your iOS app!
April 5, 2020 - 11 min read

Nowadays, more and more users rely on ratings and reviews when they are about to make a purchasing decision, whether it is buying products, deciding on a...

March

Post
A brief introduction to open source licenses
March 28, 2020 - 7 min read

As you may have noticed from the URL, I am using GitHub Pages to host this blog, which means that the whole code is open-sourced. Amongst other things, a...

February

Post
Scan and broadcast to nearby devices with Core Bluetooth
February 16, 2020 - 11 min read

The topic of this post is about Bluetooth and how we can use it in our applications.

Post
Two-way communication between an iOS WKWebView and a web page
February 2, 2020 - 9 min read

Sometimes, on a native iOS app, there is the need to embed a web page within the application. To cater for cases like this, iOS provides WKWebView, an ob...

January

Post
How to get the most out of Xcode: Xcode Snippets
January 26, 2020 - 6 min read

One of the hidden gems of Xcode is a feature called Xcode Snippets. Despite the fact that most developers happen to use them quite often, only handful of...

Post
Accessing web page properties from an iOS Share Extension
January 19, 2020 - 6 min read

A Share Extension is a type of App Extension which is used to share content with other apps. One such content type and a quite popular use case for share...

Post
Custom UI for Share Extensions
January 11, 2020 - 7 min read

iOS comes with a plethora of App Extensions that you can use to improve the functionality and the user experience of your app. An example of such extensi...

Post
How to find large files from the command line
January 4, 2020 - 5 min read

Have you ever ran into issues with your storage disk being full?

2019

November

Post
Running an HTTP server on an Android app
November 10, 2019 - 4 min read

A few days ago I wrote a post describing how to run an HTTP server from an iOS app. This intrigued me to start investigating how to implement a similar a...

October

Post
Running a SwiftNIO Server in an iOS app
October 27, 2019 - 8 min read

Have you ever wondered if it is possible to run a server in an iOS app? A while ago I had this question! It seems that SwiftNIO and SwiftNIO Transport Se...

Post
JSON feed reader app with Kotlin Native
October 13, 2019 - 18 min read

Having spent some time exploring and learning more about Kotlin Native, time has come to start building an app where I can use Kotlin Native in a real wo...

Post
JSON feed for Jekyll sites
October 5, 2019 - 5 min read

Feed is a term used to usually describe a text file that provides information about the content of a website and it is primarily intended to be used for ...

September

Post
From Kotlin to Native: Or how Kotlin concepts are mapped to the Apple framework
September 19, 2019 - 14 min read

TL;DR This post is about how some specific Kotlin features are compiled to Objective-C and how they can be used in a Swift project when using Kotlin Nati...

Post
Continuous Integration for Kotlin Native projects with Gitlab CI
September 8, 2019 - 6 min read

How many times have you started a project with the intent to follow practices such as writing unit tests and enforcing a code style, only to give up afte...

Post
Kotlin Multiplatform Project: Code styling for iOS and Android
September 1, 2019 - 6 min read

Continuing my journey on Kotlin Multiplatform Project, this time I will explore some tools that can be used to apply code style conventions on such proje...

August

Post
Kotlin Multiplatform Project: Unit tests for iOS and Android
August 25, 2019 - 7 min read

In every project, regardless of the language or framework, it’s really important to have confidence when making a code change. Unit tests are here for th...

Post
Thoughts on Kotlin Multiplatform Project structure
August 17, 2019 - 10 min read

In the previous article, I tried to explain step by step the process of creating an iOS and Android app with a shared library using Kotlin Multiplatform ...

Post
How to setup a Kotlin Multiplatform Project for iOS and Android
August 4, 2019 - 5 min read

Hi, time has come to write something about Kotlin Multiplatform Project and more specifically how to setup a project with an iOS app, an Android app and ...

July

Post
A step-by-step guide to create a custom Xcode template
July 21, 2019 - 8 min read

For quite a long time I wanted to experiment with the creation of a custom Xcode template and finally the time has come!! In this article, I will try to ...

June

Post
How to use Firebase Remote Config and A/B testing on an iOS app(part II)
June 30, 2019 - 9 min read

In the previous article, we described the steps required to set up Firebase Remote Config and A/B testing. So, it is time to proceed with the implementat...

Post
How to use Firebase Remote Config and A/B testing on an iOS app(part I)
June 22, 2019 - 5 min read

This article is part of a series on how to setup and integrate Firebase Remote Config and A/B testing on an iOS app. To illustrate and describe the proce...

January

Post
Useful Curl features
January 6, 2019 - 5 min read

Happy New Year everyone!! This is my first post of the year!! Today’s topic is a guide about some of the features of curl. Curl is a command line tool th...

2018

December

Post
A guide to SwiftLint
December 23, 2018 - 5 min read

SwiftLint is a great tool to enforce Swift style and conventions. When working with different developers with different levels of experience and differen...

Post
Xcode shortcuts and custom key bindings
December 7, 2018 - 4 min read

A recent discussion with a colleague about the use of the Xcode shortcuts is the reason behind this blog post.

November

Post
Download provision profiles with AppleScript
November 25, 2018 - 6 min read

In my try to empty my To-do list, one item that caught my attention and I decided to give it a try is AppleScript.

Post
Save time with git aliases
November 10, 2018 - 3 min read

This is a blog post for those that don’t like using the computer mouse or trackpad, those who don’t use Sourcetree or other version-control tools to mana...

October

Post
Why I choose Jekyll over competition
October 23, 2018 - 4 min read

A few months ago, I took the decision that I wanted to start writing some articles. At that time, one of the first things to consider, and that would def...

Post
Modifying UI elements with Xcode and LLDB v2
October 14, 2018 - 7 min read

In a previous post, I wrote an introduction about the use of LLDB expressions to modify the UI elements. In this post, I will continue on the same topics...

September

Post
Modifying UI elements with LLDB
September 30, 2018 - 5 min read

Have you ever been in a situation where you have to experiment with UI and change colors frequent? Does the designer or PM asks for changes in font size...

Post
Why I start a blog
September 23, 2018 - 3 min read

Hello world, this is my first blog post!! 🚀 My name is Ioannis Diamantidis, I am a software developer and a few months ago I decided to start my own blog...