Stop Burning Tokens on “Fix my iOS app performance”
I have been vibe coding a lot lately. And if I am honest, writing performant code with these tools is still a struggle. We are in 2026 and somehow most of them are still pretty bad at this part.
Swift is easy to learn, but difficult to master. I will be writing interesting articles about Swift and iOS development here.
I have been vibe coding a lot lately. And if I am honest, writing performant code with these tools is still a struggle. We are in 2026 and somehow most of them are still pretty bad at this part.
The 2026 Platforms State of the Union outlines major advancements for developers across Apple’s ecosystem, focusing on three core pillars: Apple Intelligence, platform refinements, and developer productivity. Here’s what stood out.
Every day brings a new learning opportunity in Apple platform development, especially with Xcode. In the latest Xcode 26, Apple quietly removed the “Show Library” button, which used to be accessible by clicking the “+” icon on the right side of the navigation bar. I found myself wondering: How do I access the Library now? Has it been removed entirely? No, Apple wouldn’t make such a blunder.…
It all started as an idea. When I asked my friends Adithya and Raghav, “Why don’t we organize a nationwide hackathon for Apple platform developers in India after the announcement of WWDC25?” I thought I was being crazy and that it might not gain traction. Come on, it’s a nationwide hackathon—how would we even pull it off? It seemed impossible, but we didn’t give up.
Hey Swift folks! If you’ve been scrolling X or LinkedIn, you have probably caught wind of the buzz: Apple’s Liquid Glass design is supposedly “killing” Flutter. I have been diving into Meet Liquid Glass video and Apple’s official Adopting Liquid Glass documentation to figure out what is driving this talk and what it means for us. Is it time to ditch Flutter for native iOS with SwiftUI? Let’s…
“Production only” crashes in iOS apps are notoriously difficult to debug. Traditional in-process crash reporting tools install handlers within your app to capture failure data, but if the app crashes hard enough, these reporters themselves may fail.
In iOS development, app extensions run in separate processes from their containing apps. This separation poses a challenge when you need to communicate between the main app and its extensions. While NSNotificationCenter is a common choice for passing data between view controllers within the same app, it falls short when it comes to inter-process communication. Have you ever thought about how to…
I recently spoke at iOSKetchup2024 hosted by Zomato x Blinkit about the challenges and opportunities of using SwiftUI. The audience seemed to enjoy the session as much as I did! Here, I’m excited to share my experience and provide a detailed write-up of my talk.
In WWDC23, Apple introduced a nuanced addition to the UIViewController lifecycle: viewIsAppearing. This instance method is a game-changer for developers looking to fine-tune the presentation and layout of their views. Let’s explore how this method enhances the way we build responsive and dynamic interfaces.
Apple has recently unveiled a powerful new tool for developers: the Apple Push Notifications Console. This innovative console simplifies the task of sending test notifications to Apple devices using the Apple Push Notification service (APNs).
In the past, testing push notifications on iOS simulators was quite challenging due to certain limitations. Prior to Xcode 14, receiving push notifications in a simulator was not possible and developers had to rely on local simulations using .apns payload files and the simctl push command. We have already seen how to simulate push notifications in a simulator in the article, Simulating remote push…
In the world of programming, tracking variable changes can often turn into a debugging nightmare. In Xcode, you might find yourself frequently relying on breakpoints and manually tracing the changes in your variables’ values. At times, you might also utilize property observers such as didSet and willSet for this purpose. But what if I tell you, there’s a powerful tool waiting for you to harness…
Sometimes, we would require a button to show a loader with appropriate text when a long-duration task is done, such as downloading an image. Before iOS 15, we had to write a custom button or do some hacks to show a simple loader or an UIActivityIndicator inside an UIButton. Now, it is not the case anymore. UIButtonConfiguration provides showsActivityIndicator, a simple property using which we can…
In iOS 14.0, Apple introduced a new way to pick images from the device’s photo library using PHPickerViewController. (If you are not aware of PHPickerViewController, I strongly recommend you to read about PHPickerViewController first.)
It was WWDC22 week, and I was browsing through my Twitter feed to get some updates about the latest Apple APIs. A person tweeted, “No matter how experienced you are as an iOS developer, you’ll always look it up how to set up a date formatter.” So I humorously replied to the tweet by saying, “Dates are hard 😜 .”
Arrays are one of the most widely used data structures in Swift, and we deal with a lot of array manipulations. One such manipulation is the removal of the last element from an array. The three useful methods to remove an element from an array are dropLast(), popLast(), and removeLast()
Buttons are an essential element in iOS apps. If you are developing an app using UIKit, you will probably use UIButton class to create buttons. Creating a button is a straightforward process, but it becomes problematic when it comes to customizations. Soon you will find yourself writing hacks for achieving your desired result. We all have been there, and we have done it. You are not alone.…
Deque (should be pronounced as “deck”) is a collection implementing double-ended queues. Deques are similar to arrays, but they have efficient insertions and removal of elements at the beginning and at the end.
Dictionaries are one of the most commonly used data structures. Dictionaries come with keys and values where the keys are unique. Sometimes, there might be a situation where we would want to swap the keys and values of a dictionary. Let’s see how to swap keys and values of a dictionary in swift.
You all might know that async/await is accepted and is available in the main snapshots! Let’s get our hands dirty by trying out some basic example of async/await in Swift.