Best Practices for Managing Third-Party Libraries in Multi-Module iOS AppsWhen building a multi-module iOS app using Swift Package Manager, importing third-party libraries like Firebase directly into multiple feature modules quickly becomes messy. It leads to duplicated configurations, tight coupling, and hard-to-maintain ...Apr 22, 2025·2 min read
Mastering Publisher Subscriptions in Combine: A Comprehensive GuideIt’s time to review a little: Subscribers will receive values from Publisher, all subscribers must inherit the Subscriber protocol. public protocol Subscriber { associatedtype Input associatedtype Failure: Error func receive(subscription: Subsc...Apr 22, 2024·6 min read
Publisher in CombineContinue with the Combine series, today we will discuss Publisher. Combine needs something that can model a data stream. This is the role of the Publisher protocol. If you haven’t read my article about Combine in general, let’s check it out: Introduc...Apr 8, 2024·5 min read
Introduction to Combine in iOSWhat is Combine? The Combine framework provides a declarative Swift API for processing values over time. These values can represent many kinds of asynchronous events. Combine declares publishers to expose values that can change over time, and subscri...Mar 31, 2024·3 min read
Making a CompletionHandler Safer in SwiftAsynchronous programming in Swift often involves using completionHandler within functions to handle events. While this approach is common, there are potential pitfalls that developers need to be mindful of. One such pitfall is that there is no guaran...Mar 22, 2024·2 min read
Stop Using .lowercased() to Compare Strings in SwiftWhen developing in Swift, a common task you may come across is comparing strings. However, did you know that using the .lowercased() method might not be the best way to do it? Let's take a look at an example where we compare two strings using .lowerc...Mar 17, 2024·2 min read
[Weekly Reading] #1 Essential iOS App Security Cases Developers Shouldn't OverlookAlthough iOS is less vulnerable than Android, it still faces security issues. It is the responsibility of the developer to secure code and data communication Here are some preliminary-level threats that every iOS developer should take care of: 1. Scr...Mar 9, 2024·5 min read