Engineering : Swift

Most Recent Posts

Integrating with Logging Platforms on iOS

You might ask yourself, are users reaching certain screens? What crashes happen in production? Are certain things happening as expected? This is the area of production logging. Logging during development is straightforward. You just print things to the console. But in production, you do not have this luxury. Instead, you have to roll your logging
Read More4 Min Read

Setting Background Modes and Device Capability Privacies in iOS Apps

What are the required background modes and protected resource privacies on iOS? Discover and learn to set them appropriately in this article. It focuses on configuring background modes for iOS apps in Xcode and requesting authorization to access the user’s camera, microphone, and media. Resources This article uses the following projects to demonstrate how background
Read More11 Min Read

Real-World Xcode Project Using Tuist

There's a file in there with the extension proj. This file is what it is about, this file is probably the source of most of the source-level conflicts you will be facing when working on a single Xcode project with multiple people. How often do you intend to quickly merge your work, only to be
Read More12 Min Read

SwiftUI Animation: How To Add Facebook Live Reactions to Livestream Chats

An app like Telegram uses fine-grained animations to engage, entertain, and onboard users in many ways. In this article, you will learn how to build and integrate great SwiftUI animations and motion for your iOS apps to provide wow user experiences. You can use the animations in this article in, for example, live video streaming
Read More11 Min Read

Customizing Stream Chat iOS/Swift App for a Unique Look: A Quick Start Guide

This article demonstrates how to perform basic customizations such as swapping colors, fonts, and icons with assets, color, and typographic styles from your style guide. You can create a free chat trial account to follow along with the tutorial. Resources You can find and download the completed Xcode project on GitHub. This tutorial is for
Read More11 Min Read

Using SwiftUI Effects Library: How to Add Particle Effects to iOS Apps

Creating particle animations similar to the iMessage screen and bubble effects in iOS can be difficult. The main reason is that the Core Animation Emitter Layer that allows you to animate, emit and render particle effects is complex to set up and configure due to its large number of parameters. In this article, you will
Read More10 Min Read

How to Integrate Live Audio and Video Into iOS Apps Using WebRTC

The main reason is that there are several factors that one needs to consider for the backbone or underlying technology. One way to embed live media into iOS applications is to use Web Real-Time Communication (WebRTC). In this article, you will discover how WebRTC works and how you can integrate it into your next iOS
Read More9 Min Read

Using Xcode: Creating Reusable and Shareable Color Palettes

Having a full range of colors that can be shared and reused in different Xcode projects improves efficiency and workflow because it removes the time wasted in looking for colors that will work together for your projects. Additionally, it ensures consistency of color usage within your apps and projects. Historically, developers and designers create color
Read More7 Min Read

Seeding a Core Data Store With Remote JSON Data

There are various situations where you’ll find yourself needing to import a sizable amount of JSON to seed a Core Data store. Sometimes you can ship this data alongside your app in the form of a pre-populated SQLite store. Other times, the data that you need to retrieve is so dynamic that shipping the data
Read More18 Min Read

WWDC State of the Union, What Can We Look Forward To?

Yesterday we wrote about the Apple WWDC Keynote on our blog. On the same day of the WWDC keynote, Apple also live-streamed the Apple WWDC Platform State of the Union. Apple focussed software developers often call this “the Developer Keynote”. The State of the Union session is a more technical presentation with much more detail
Read More12 Min Read

Apple WWDC Keynote Impressions

Like many things, software development happens in cycles. Apple as a company is like this as well. Each year Apple releases new hardware and new major versions of their hardware and software. To give software developers working in the Apple ecosystem a chance to adopt new hardware and software versions, Apple organizes a yearly conference
Read More13 Min Read

Server-Side Vapor Swift Implementation With Google, Apple, and Github Authentication

In this post, you'll learn how to build a server application with the Vapor framework to provide tokens to an iOS app to use with the Stream Chat SDK. You'll learn how to leverage different types of authentication for users and provide them with tokens. Note: for this tutorial, you'll need Xcode 12.3 installed, Homebrew,
Read More15 Min Read

Scaling Your Xcode Projects With Tuist

One of the biggest challenges for iOS development teams is scaling a codebase when their company or product takes off. Growth and scaling issues are a great thing, but they introduce some typical growing pains as well, like: Clearly defining responsibilities when splitting up your development effort across multiple teams. Decreasing the edit-build-run cycle of
Read More6 Min Read

Reducing App and SDK Size With Emerge Tools

The Importance of Mobile App and SDK Size When developing a mobile app, one crucial performance metric is app size. An app’s size can be difficult to accurately measure with multiple variants and device spreads. Once measured, it’s even more difficult to understand and identify what’s contributing to size bloat. Many people think that as
Read More5 Min Read

Swift WebSockets: Starscream or URLSession in 2021?

Building applications such as online games and real-time chat has never been more straightforward since the standardization of the WebSocket protocol in 2011. Before that, most app experiences were plagued with manual refreshes to access the latest data available. Remember F5? Since then, most apps use WebSockets in some form to update their user interface
Read More4 Min Read

Singleton vs Dependency Injection in Swift

When coding iOS apps, we often create classes that manage a particular aspect of the application. For example, it's common to develop "manager" classes that encapsulate methods for interacting with a specific application aspect. These aspects commonly include the REST API, WebSockets, database, caching, notifications, chat, etc. That is what's called the Facade pattern, and
Read More4 Min Read