iOS Development

Leverage Accessibility Identifier For View Debugging

Leverage Accessibility Identifier For View Debugging

Learn how to debug your view with an accessibilityId

Recently I have been fascinated with the fact many people, especially indie dev have started to think about accessibility for their application. However, there are still fewer resources on how do we kick off our journey in Accessibility with a more real-world use case that we can adapt. In this article, I would like to explain how do we utilize and incorporate the most basic Accessibility topics into our codebase, which is accessibilityId.
Create Draggable Calendar View in SwiftUI

Create Draggable Calendar View in SwiftUI

Learn how to use onDrag and onDrop for creating a calendar view

While I was looking at my twitter for inspiration, a tweet from Sean Allen caught my eyes. He made an amazing calendar component with a drag and drop capabilities of its item. I look up the possibilities of using the native SwiftUI approach without any UIKit hack or workaround to do so. In this article, I will explain step by step as well a brief explanation of the API I used to make the calendar view in SwiftUI.
VIPER adoption to SwiftUI

VIPER adoption to SwiftUI

Learn How To Use VIPER in SwiftUI

VIPER is one of the hottest architectures back then because of its separation of layers that isolated between each other which is also debatable. Some argue that VIPER is over-engineer and an overkill architecture, some argue that VIPER causes too many boilerplates of code and some argue that VIPER is one of the best architecture for iOS Development. All of these opinions are valid, we definitely can use VIPER depends on how complex is our project and other undefined constraints.
Command Pattern in real-life

Command Pattern in real-life

Learn How To Use Command Pattern in Swift

Recently I have a problem in my team whereas the analytics function become scattered. Some other team create their own function and handling their own caching for tracking the events, and some even create multiple similar function across the modules only for analytics, until then a problem arises. Since my company heavily depends on A/B Testing and data-driven culture, at some point we have found a lot of biased data as well missing parameters, then I start to investigate the issues.

Analyze HTTP Traffic with new HTTP Instrument

Understanding new HTTP Instrument Xcode

WWDC21 has been finished last week with over 200 sessions. Most of the time we heard about SwiftUI session or about Async Await. However there are also interesting session about debugging that has been described by Keith Harrison here. In this article I would like to focus on one of the underrated session which is Analyze HTTP Traffic in Instruments. I also write this article in WWDC Notes. All content copyright © 2012 – 2021 Apple Inc.

Complete List of Must-Watch Conferences Before WWDC 2021

Full list of my must-watch conferences before WWDC

Tik tok tik tok, 6 more days before we are going to watch the WWDC 2021 Conference. Multiple events are being hosted by many iOS Developers around the world. Besides that, I would like also to recommend some top watchlists of the iOS Conference, that we can watch as a warm-up before we are sitting and watching WWDC next week. Here are my top lists: Swift Heroes Italy Swift Heroes Italy is one of the most underrated conferences in Italy.

Testing In-App Purchases Locally in Simulator

Implementing Store Kit in Swift

During development, we will come into a phase where we would like to test out our In-App Purchases. However, most likely we ever heard a myth that IAP only works with devices to test it out with an internal tester account. Turns out during the process of the creation of Tripzy, I found a way to test our IAP in a simulator without any hassle. Keep in mind there will be some limitations of course if we are testing against the simulator.

Simple Slick SwiftUI Onboarding View

Learn how to use TabView for onboarding in SwiftUI

Apparently, even if SwiftUI 2.0 has powerful enough for production code, but sometimes they are still lacking documentation for a simple component like PagingView. As your information, there is now a native equivalent of UIPageViewController in SwiftUI 2.0 which is adding the .tabViewStyle modifier to TabView and pass PageTabViewStyle Let me go through step by step. We will need to wrap our view with the GeometryReader in order to get the parent relative size position for configuring the onboarding view frame.

Enhance Factory Pattern capabilities for DI in Swift within 3 minutes

Implementing Factory Pattern in Swift

Factory pattern is one of the common patterns in a programming language. It is one of the creational design patterns that provide a high level of flexibility for your code. One of the interesting use cases that could make Factory pattern become a handy tool to use is Dependency Injection. Normally whenever we want to inject an interface as a dependency on an object, we could easily pass it through the initializer or set it from the property.

Understanding Proxy Pattern in Swift within 5 minutes

Implementing Proxy Pattern in Swift

The proxy pattern is one of the few underrated patterns that nobody really talks about in iOS. A proxy pattern is one of the structural design patterns that lets you provide a substitute or placeholder for another object. A proxy has total control and access to the original object, and let the proxy object do some magical stuff with the original object and restrict the access to it, however, the one who uses a proxy object, won’t have any knowledge behind the scene.