Sign in

iOS Software Engineer ⚡️ Creator
Developer tools image, helps you become a better dev by being resourceful!

The tools, websites, apps I currently use to be a more productive iOS developer. Bonus favorite StackOverflow and Reddit posts.

I published a story on medium 5 years ago as I started my professional iOS developer journey, recommending some tools and resources to become a more productive junior iOS developer (I can’t believe it’s been that long).

These chrome extensions will make you more productive and save you countless hours throughout the day.


I still use Chrome because it has the best support for browser extensions. In fact, if you know basic HTML and JavaScript, you already know how to create one. All that’s required is to set up your project with a `manifest.json` with various configurations for Chrome and then an HTML file for the UI and a JavaScript file for the business logic.

An easy tutorial to follow along if this interests you is by Traversy Media. …

Combine example with URLSession and assign value to a labels text

Learn Swift’s Combine framework through examples and sample code. A brief intro to publishers, operators, and subscribers.

What is Combine?

In short, Combine enables subscribing to output or values over time with a declarative API. For example, if you’re making a network request to fetch JSON.

Create a new playground and paste the code in to test it out!

Notice how Combine is built into url session, you’ll see it throughout Apple’s API ecosystem i.e notification center, timers.

  1. Create a new data task publisher to fetch data at a URL.
  2. Map on the response and get the Data via keypaths.
  3. Decode the response into a dictionary.
  4. CompactMap on the dictionary to the property results.
  5. Replace errors with an empty array…

I created a vertical scrolling list of cards in React using flexbox and styled-components (beginner introduction with examples).

React list image

I am new to React, CSS and HTML and found it difficult to build this simple vertical list to display cards. My background is in iOS development, and the primary library (UIKit) has built-in components that solve these particular UI-related problems, i.e., ScrollView.

Out of frustration I posted on r/reactjs asking for help because I couldn’t easily find a solution on Google. After some more time spent on Google, I began to draw connections between flexbox and the layout system in iOS and solved the problem! I summarized my approach in tutorial form below.

I posted about this on r/reactjs

Getting Started

A fast way to add a search bar to your SwiftUI app with fuzzy search and NavigationView. (Bonus: becomeFirstResponder)

NavigationView SearchBar Image
NavigationView SearchBar

This year, at the top of the WWDC wish list, is for the SwiftUI team to add a search bar to the framework. There are so many ways to add search today from using a TextField view to tapping into UIKit and using UISearchBar via UIViewRepresentable.

Please, we👏 need 👏this 👏

Nevertheless, it’s a hassle, but I’m going to show you how you can add it relatively fast using SwiftUIX. SwiftUIX is a library full of various views missing in the SwiftUI standard library, one of being a search bar. …

How I used the TabView to build a vertical paging feed like Tik Tok.

Image of tik tok clone I built on YouTube
Video of Tik Tok clone using TabView

I used the TabView in SwiftUI to create a vertically paging feed, and here’s how you can do it too.

The TabView has a modifier called PageTabViewStyle that allows you to turn it from a traditional tab bar into a paging scroll view. After adding this modifier, you’ll see that the view resembles UIPagingViewController if you are familiar with UIKit. If we inspect this view under the hood, it’s actually a UICollectionView.

The UICollectionView is using the UICollectionViewCompositionalLayout too, released in iOS 13, the API simplifies arranging items size like SwiftUI GridView.

Horizontal paging with TabView code
Horizontal paging with…

The Swift code generation tool for colors, images, strings & more!

We all know it’s a hassle to manually type out image and color names after adding them to your asset catalog.

let image = Image("my-cool-image") // Stop doing this 😡

If only there is a way to generate type-safe code that can reference the assets. Well, there is. Use a library called SwiftGen, and it will do all the heavy lifting for you. All that’s needed is to add it as a run script and configure it with a swiftgen.yml.

// swiftgen.ymlxcassets:
- YourProjectName/Assets.xcassets // 1
templateName: swift5 // 2
output: ProjectName/Assets.swift // 3

I mention this…

A quick tutorial on how I built out the Tinder swipe animation using SwiftUI.

Do you want to learn how to make the swipe animation similar to Tinder and Bumble in SwiftUI? Here’s a tutorial on how I was able to accomplish it in less than 10 minutes using SwiftUI’s declarative APIs like DragGesture and animating various view modifiers. Follow along below!

Create a new SwiftUI project in Xcode or get the starter project here.

Alright, we’re in Xcode, and the first thing you want to do is add some assets. These will be the images that the user’s going to see as they’re swiping through your app. …

Introduction Video

Today I am excited to start a new series on building a restaurant viewing application in Swift. Each video will be followed by an article that goes over the key points that I wanted to cover. It will also allow me to update any content that has been outdated from the rapid evolution of the Swift programming language.

Video one is a short introduction of the key feature within the application. In short, we’ll be loading restaurants from the Yelp API into a list. If that sounds boring or simple, check the screenshots below. I tried my best…

Photo By William Iven

A strong toolkit when developing iOS apps can help big time, especially when you're new to the game. I started learning iOS development about five months ago and I have been hooked ever since. After a rocky start, I am finally figuring out how to solve problems and to find resources to help me through the battle. Long story long, here is the list of several resources I use daily when developing apps.


Design can be the most challenging aspect for new developers. I try to approach the process with gusto and creativity.

  • iOSUp — Before developing an application I…

Gary Tokman

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store