Majid Jabrayilov
banner
mecid.bsky.social
Majid Jabrayilov
@mecid.bsky.social
Swift Developer: iOS, watchOS, visionOS, tvOS, macOS.
https://swiftwithmajid.com
Pinned
Hi, I'm Majid. I’m an indie developer building apps for iOS, watchOS, visionOS, and all other Apple platforms.

I mostly build health-related apps like CardioBot, allowing you to understand and improve heart metrics.

I try to share my experiences by writing blog posts.

swiftwithmajid.com
Home
Majid’s blog about Swift development
swiftwithmajid.com
ImageCreator type has a static property called availableStyles, an array of supported styles. Verify the availability of the selected style and use only the available one, as not all styles may be available on your device.
swiftwithmajid.com/2025/11/11/g...
November 14, 2025 at 12:13 PM
Reposted by Majid Jabrayilov
Sometimes a huge backlog can help you.

gameinformer.com/2025/11/13/r...
Red Dead Redemption Is Coming To PS5, Xbox Series X/S, Switch 2, and Mobile Next Month With Free Upgrade Paths
It will also be available as part of Netflix games.
gameinformer.com
November 14, 2025 at 12:30 AM
The Image Playground framework brings Apple’s generative image capabilities right into Swift, making it surprisingly simple to create visuals from text. The core of the framework is the ImageCreator type.
swiftwithmajid.com/2025/11/11/g...
November 13, 2025 at 9:02 AM
You might be familiar with the Image Playground app on your Apple devices, which also has a Swift API. This week, we’ll explore how to utilize the Image Playground framework to create image content within our apps.
swiftwithmajid.com/2025/11/11/g...
Generating images in Swift using Image Playground
I’m continuing to work on AI-generated content in my apps, and this time, we’ll focus on image generation. You might be familiar with the Image Playground app on your Apple devices, which also has a…
swiftwithmajid.com
November 12, 2025 at 12:16 PM
SwiftUI provides the FocusState property wrapper that works on all Apple platforms and allows us to focus on a particular view or check if that view is already focused. The usage is effortless.
swiftwithmajid.com/2021/08/24/m...
November 11, 2025 at 10:58 AM
Background Tasks framework allows you to schedule work intelligently in the background. We can handle background tasks using the SwiftUI app lifecycle.
swiftwithmajid.com/2022/07/06/b...
November 10, 2025 at 10:58 AM
The SwiftUI framework introduced the onGeometryChange view modifier, which is backward compatible with iOS 16, macOS 13, tvOS 16, watchOS 9, and visionOS 1. It allows us to track geometry changes of any view in SwiftUI.
swiftwithmajid.com/2024/08/13/t...
November 7, 2025 at 10:57 AM
Reposted by Majid Jabrayilov
Phoenix for Bluesky
A Bluesky client based on the award-winning Twitter app for iOS.
tapbots.com
November 6, 2025 at 3:51 AM
Reposted by Majid Jabrayilov
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results: nilcoalescing.com/blog/ScrollV...
#SwiftUI #iOSDev
ScrollView snapping in SwiftUI
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results.
nilcoalescing.com
November 5, 2025 at 8:50 PM
All we need to play haptic feedback in a SwiftUI view is to attach the sensoryFeedback view modifier with two parameters. The first defines a feedback style, and the second is a trigger value.
swiftwithmajid.com/2023/10/10/s...
November 5, 2025 at 10:26 AM
Reposted by Majid Jabrayilov
I've published a new video! I shared some tips for implementing Dynamic Type support in SwiftUI apps, covering system and custom fonts, ScaledMetric API, and dynamicTypeSize environment value: youtu.be/wflWj5l7wlk
#SwiftUI #iOSDev #Accessibility
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing
youtu.be
November 5, 2025 at 7:42 AM
Reposted by Majid Jabrayilov
I can't believe it's November, and you know what that means - it's almost time for Indie App Sales!

If you're an Indie Developer, submissions are officially open for our Black Friday Event! Please share!

indieappsales.com

#IndieAp#IndieAppSales
Indie App Sales - Black Friday '25 Edition
Discover amazing apps from indie developers at exclusive discounts. Nov 28-Dec 3, 2025. From productivity tools to creative software, find hidden gems at unbeatable prices!
indieappsales.com
November 3, 2025 at 1:13 PM
Reposted by Majid Jabrayilov
The 26.1 Apple OS updates are out!

Here's our overview of what's new in iOS, iPadOS, and macOS 26.1: www.macstories.net/news/apple-r...
Apple Releases 26.1 Updates to Its Operating Systems
Today, Apple released version 26.1 of its full family of OSes. Every platform received attention, including the proverbial “bug fixes and feature enhancements,” but it was iOS 26.1 and iPadOS 26.1 tha...
www.macstories.net
November 3, 2025 at 9:21 PM
Swift gives you everything you need to build a type-safe networking layer — enums, phantom types, extensions, etc.
swiftwithmajid.com/2021/02/10/b...
November 3, 2025 at 11:59 AM
I highly recommend this talk by Apple. While writing SwiftUI code is relatively easy, optimizing it has become increasingly challenging in recent times.
www.youtube.com/live/yXAQTIK...
Optimize your app's speed and efficiency | Meet with Apple
Join us online to learn how to elevate your app experience by maximizing performance and resolving inefficiencies. Whether you’re optimizing an existing app ...
www.youtube.com
October 31, 2025 at 4:21 PM
Reposted by Majid Jabrayilov
Here's the YouTube link for the Apple Developer event:

Optimize your app's speed and efficiency | Meet with Apple
www.youtube.com/watch?v=yXAQ...

#AppleDeveloper #iOSDev #SwiftUI
Optimize your app's speed and efficiency | Meet with Apple
YouTube video by Apple Developer
www.youtube.com
October 30, 2025 at 7:24 PM
Reposted by Majid Jabrayilov
TIL the @.Observable macro doesn't trigger updates for equatable properties starting with iOS 26. But for prior releases, we have to manually check equality for the object properties to improve our app performances.

Thank you for the tip Steven!
October 30, 2025 at 6:37 PM
The Accelerate framework contains a collection of APIs for digital signal processing called vDSP. It provides tons of highly optimized functions for operations on large data collections.
swiftwithmajid.com/2025/05/13/o...
October 30, 2025 at 10:23 AM
For modern apps targeting iOS 16 and above, I recommend building the core of the app using SwiftUI and incorporating UIKit in certain parts where SwiftUI’s performance may not meet your expectations, like using compositional layout with collection views.
swiftwithmajid.com/2025/03/04/s...
SwiftUI Performance - How to use UIKit
Nowadays, Apple platform development has undergone significant changes. Previously, we believed that building the core of an app around UIKit and using SwiftUI for certain screens was a good idea.…
swiftwithmajid.com
October 27, 2025 at 9:33 AM
Reposted by Majid Jabrayilov
I've been trying to use Jujutsu lately and I wanted to write about how I transitioned from my Git workflow. I hope you find it useful!

baxter.sh/adopting-juj...

#jj-vcs
Adopting Jujutsu
I’ve always loved the safety net that a VCS like Git provides, but I’ve never loved git’s user interface/experience, nor the mental model that I’ve tried to hold in my head while I’m using it. Jujutsu...
baxter.sh
October 24, 2025 at 11:22 AM
Jujutsu VCS differs from Git in several ways, including the absence of a staging area and automatic rebases. The community has several popular workflows, and this week, I’ll discuss my daily workflow, called the edit workflow.
swiftwithmajid.com/2025/10/22/i...
Introducing Jujutsu VCS. Edit Workflow.
The absence of a staging area and automatic rebases makes our usage of Jujutsu VCS significantly different from what we used to do in Git. There are several popular workflows within the Jujutsu VCS…
swiftwithmajid.com
October 23, 2025 at 8:30 AM
Reposted by Majid Jabrayilov
Your SwiftUI views keep growing.

You tidy up with extensions, but it still feels messy.

How do you scale SwiftUI without chaos?

Here’s how I approach clean, reusable architecture 👇

https://www.avanderlee.com/swiftui/swiftui-architecture-structure-views-for-reusability-and-clarity/
October 22, 2025 at 8:29 AM
The ViewThatFits view is easy to use. You don’t need to measure space or calculate if a view fits. Simply create an instance and place children views. It automatically measures space and children’s sizes and selects the first fitting view.
swiftwithmajid.com/2022/07/26/v...
October 22, 2025 at 9:16 AM
Here is the solution. Thanks to @natpanferova.bsky.social
October 20, 2025 at 8:33 PM