How to check if code is in DEBUG or RELEASE build in Swift

Learn how to compile code only on a specific build configuration.

How to set Info.plist Values based on Build Configuration in Xcode

Learn how to configure Info.plist value per build configuration.

How to preview SwiftUI Layout without device frame

Learn how to preview SwiftUI view without a distraction of a device frame.

How to whitelist files in .gitignore

Learn how to re-include an ignored file in .gitignore.

How to change Command + Click behavior in Xcode

Command + click is my go-to shortcut when coding. Let's learn how to modify its behavior.

How to Run code in Release build in Xcode

Learn how to run it on the Release build configuration, which is the one Xcode used for the App Store.

What is Info.plist in Xcode

Learn what it is and where to find it.

Where is Info.plist in Xcode 13

If you create a new SwiftUI project, you will no longer see Info.plist file. Let's learn about this change.

Splash screen vs Launch screen in iOS

Learn the difference between a launch screen and a splash screen in iOS.

How to Upload dSYM to Firebase using upload_symbols_to_crashlytics and SPM

Learn how to upload a dSYM file to Firebase with Fastlane.

Missing dSYM download link in App Store Connect

You can no longer download dSYM from the App Store Connect.

How to get AppStore Connect Team ID and Developer Portal Team ID for Fastlane actions

If your Apple account belongs to multiple teams, this can cause Fastlane confusion. Learn how to fix it.

7 Xcode shortcuts for a large iOS project

This article will share seven Xcode shortcuts that will help you on a large iOS project. The tricks you are about to learn will help you find and navigate to a file/class/symbol in your large and small project.

How to prepare your iOS project to support modular architecture

At the beginning of a project, there are a lot of changes and uncertainty. You might want to start modularizing your code in the later phase, where the scope is clearer. Let's see how to prepare your single module project to support future modularizing.

How to modularize existing iOS projects using Swift Package

Modular programming is a software design technique that breaks your project into a smaller maintainable module which promotes separation of concern and reusability. Let's see how easy it is to modularize an iOS app with Swift Package.

How to search on a website that doesn't have a search function

Not every website got a search function. If you found an interesting site and want to explore more topics within that site, you can do it with the help of a search engine of your choice.

What is the iOS version global market share

Find out where we can get information about the iOS version market share.

Review Github PR with a web-based editor

If you prefer to review pull requests with an editor but hate the clone or checkout process, you can enjoy the review process without the hassle with new web-based editor.

How to decode enums ignoring case in Swift Codable

Learn how to make a case insensitive enum.

What do @main, @UIApplicationMain, and @NSApplicationMain mean

When you start a new project, you would see either of these attributes in an AppDelegate file. Let's find out its functionality.

How to use different fonts for different languages in an iOS application

There is no way to add a custom font for each language. Luckily, we can indirectly set that with fallback fonts. Let's learn how to do it.

How to simulate location in Xcode and Simulator

Both Xcode and Simulator can simulate location, but they serve different purposes. The Simulator provided a quick and easy way to simulate location and movement. On the other hand, Xcode offers more customization. Let's learn the differences so you can pick the right tool for your needs.

How to add custom fonts to iOS app

In iOS, you can add and use a custom font to your app and use it like other assets. The process is not hard, but it might not be straightforward as adding an image. Let's learn how to do it.

Should every if statement has an else clause

Every switch statement has a default case. Every do-catch statement has a catch clause. Should every if statement has an else clause?

Spell checking in Xcode

Did you know that you have an option to enable spell checking in Xcode?

4 Xcode shortcuts to get back your screen space

Working on your MacBook without an external monitor can be troublesome due to the small screen size. I will show you 4 Xcode shortcuts that might mitigate the situation.

Flutter: How much time do you save, and at what cost

The idea that you can use one codebase for multiple platforms and cut development time by half is tempting, but what do you trade for this time saved?

How to manually add existing certificates to the Fastlane match

Learn how to import .cer and p12 to Fastlane match without nuke or creating a new one.

How to share an iOS distribution certificate

Learn how to create, export, and import certificate without any third-party tools.

How to read App Name, Version, and Build Number from Info.plist

Learn an easy way to read the information in Info.plist.

How to set up iOS environments: develop, staging, and production

Learn how to create a separate environment for your app with the help of Configuration and Scheme. Create a different app and variables for each environment on the same codebase.

4 Xcode shortcuts to boost your productivity for SwiftUI

Leaning tips and tricks about the tool will help you down the road. Today, I will show you 4 Xcode shortcuts that I find helpful when dealing with SwiftUI.

What is the difference between Tuist init and scaffold

A brief summary of init and scaffold commands.

Tuist scaffold: How to use the Tuist template to create a new module for an ongoing project

Learn how the scaffold command helps you to bootstrap new components or features such as a new VIPER module or a new framework for your new feature.

Tuist init: How to use Tuist templates to bootstrap your project

Learn how to use, and limitations of tuist init, a command that bootstrap a new project.

Tuist Template: What is it and how to create them

The template is a way to group repetitive code structure into a reusable component. You will learn how to create them in this article.

How to add a unit test target to a Tuist project

We will see how hard (or easy) it is to add a new unit testing bundle target to your Xcode project with Tuist.

Getting Started with Tuist

A brief introduction to Tuist, a command-line tool that helps you generate Xcode projects.

Quick way to open a Custom URL Scheme in iOS Simulator

In the past, the way I test a custom URL scheme is to go to Safari and open up any of my custom URLs. If you are still doing that, there is a better alternative.

How to renew an expired certificate with Fastlane Match

Fastlane Match saves us a lot of time managing certificates and provisioning profiles, but there is one thing that we have to do it manually. That is a renewal expired certificate. Luckily, we have to do it once a year. Let's learn how to do it.

Add custom SwiftUI view to View Library with LibraryContentProvider

A new way to create a reusable view.

How to create code snippets in Xcode

Create a reusable boilerplate snippet that you can use in the project.

See all tags.