RESTful API Tutorial: How to Upload Files to a Server
Welcome to a new, hopefully exciting tutorial! In a previous post I showed to you the process of creating a custom class that manages web requests and RESTful APIs. Today, we will keep building on it, as I would like to focus on...
How USDZ Enables New Experiences for ARKit
At WWDC 2018, Apple announced various improvements to its support for Augmented Reality experiences and one of those was the support of a new file format, USDZ. USDZ enables new experiences and adds new ways in which users can...
Building a Trello-like iOS App with Drag & Drop API
Drag & Drop is the user interaction that works naturally when we want to build an app where user can move data around the screen. It’s being used heavily by apps like Trello, Jira, and many others to move data between boards....
Debugging Out of Memory Issues: Catching Layout Feedback Loop with the Runtime Magic
Let’s imagine this scenario: you’ve got a successful app with a great number of daily users and 100% crash-free rate. You are happy and your life is amazing. But at some point you start seeing negative reviews coming to the App...
Implementing a Heap Based Priority Queue Using Swift
There is a wealth of problems in computer science where using a priority queue as your underlying data structure can greatly improve the time complexity of your algorithm. One example is Dijkstra’s Shortest Path Algorithm, where...
Avoiding Massive View Controller using Containment & Child View Controller
View Controller is the component that provides basic building block that we use as a foundation to build application in iOS development. In Apple MVC world, it sits as a middle man between the View and Model, acting as an...
Building an Interactive Voice App Using Custom Siri Shortcuts in iOS 12
Siri Shortcut is a new API that Apple introduced in iOS 12 built on top of SiriKit framework. It provides ways for developer to create custom shortcut to the activities that the user often used within the app. User invokes the...
Function Naming in Swift
In this article, we will face a question that we should always ask ourselves when writing a function: How should I name this function? Although this question looks simple, getting it answered properly determines a crucial aspect...
Advanced Unit Testing in Swift Using Swinject, Quick and Nimble
Do you want to build a car (Testable Architecture) that can run fast (less compile time), save petrol (repeated code) and can be easily learnt (readable) & driven (picked up) by any licensed driver? Then you have come to the...
How to Use Xcode Instrument to Optimize Your Swift Code
I still run across curmudgeons who flat out reject techniques like object-oriented programming (especially inheritance and polymorphism), protocols and protocol-oriented programming (especially composition), generics, and...