Majid Jabrayilov
@mecid
Swift Developer 👨🏻💻 SwiftUI addicted 🚀 Creator of @CardioBotApp ⌚️ Writing weekly posts about Swift development 📖 Curating SwiftUI Weekly 📧
Glassifying views can be easy using the glassEffect view modifier. It is a one-shot view modifier that handles everything for you. But things can become complicated when you try to glassify a group of views. swiftwithmajid.com/2025/07/23/gla…
We talked a lot about different design patterns, which help us maintain the codebase by solving various issues. But what about testing? What can we do to keep our UI tests in a maintainable and consistent state? swiftwithmajid.com/2021/03/24/ui-…

Offloading work to a background thread used to be possible with nonisolated functions in Swift. In Swift 6.2 we have access to the @concurent attribute. Why do we need it? And when? gumroad.com/l/practical-sw… donnywals.com/what-is-concur…
You should keep in mind that glass effect is not a simple background. It interacts with the views behind it and changes its properties. Even more, it can change the color scheme of your view from light to dark depending on the content behind it. swiftwithmajid.com/2025/07/16/gla…
We already talked about glassifying tabs and toolbars in SwiftUI. This week, we will continue the topic of the new Liquid Glass design language and will talk about applying this concept to custom views. swiftwithmajid.com/2025/07/16/gla…
Starting with Swift 6.2 and iOS 26, EnumeratedSequence conforms to RandomAccessCollection, allowing enumerated() to be used directly in ForEach and List views in SwiftUI: nilcoalescing.com/blog/UsingEnum…
Cooperative cancellation means that Swift will never stop your task automatically, but it will provide you with information about the cancellation. It is totally up to you to decide how to handle this information. swiftwithmajid.com/2025/02/11/tas…

I can't find Observations, do you? Xcode 26 beta 3: Fixed: Observations is not available. (152888116)
🎉 It’s Indie App Sales day! 🎉 Over 270 indie apps are on sale - productivity tools, creative apps, games, and more, all made by Indie Developers. Take a look today! If you find something you like, be sure to give it a 5-star rating! indieappsales.com #IndieAppSales
The state of in-app subscriptions 2025 is live! Pulled from 11,000+ apps and $1.9B subscription revenue. - Top-selling products - Price breakdowns by region - LTV, trial, conversion deep-dives Read it, bookmark it. Don’t miss these insights. 👉 go.adapty.io/n9ycro
SwiftLee Weekly Issue 280 was sent to 20,388 subscribers with content from @cocoanetics, @essentialdevcom, @jordanmorgan10, @mecid, @tjeerdintveen avanderlee.com/swiftlee-weekl…
How to make widget target only available on visionOS 26 and iOS 18+. Is it possible in case where I share a single target both for iOS 18 and visionOS 26?
Another long-awaited feature that we have this year is WebView. The new WebView allows us to not only load web pages but also observe them, customize user agents, and more. swiftwithmajid.com/2025/06/10/wha…

Fatbobman’s Swift Weekly #093 is out! A Dimmer Liquid Glass and the Disappearance of Apple Intelligence 🚀 How to Detect Text Truncation in SwiftUI 📲 Everything You Should Know About Spacer 🔍 Shaft - Swift-based Cross-platform UI Framework and more... weekly.fatbobman.com/p/fatbobmans-s…
Liquid Glass enables us to display a badge on a toolbar item. To do this, use the badge view modifier and specify the count you want to display. swiftwithmajid.com/2025/07/01/gla…
Prompt Engineering or whatever it is we want to call it is still programming. Nothing has really changed it’s just another programming abstraction just like all the ones before it. Did people quit when assembly replaced writing in machine code?
I think about this tweet at lot. That way of thinking is absolutely key. There is so much more software that wants to be built and we are going to build a lot more software with our agents. x.com/simonw/status/…
The Tab type provides us the role parameter which we can use to set a specific role on the tab. At the moment, the only available instance of the TabRole type is the search. The search role allows the system to display search tab in a different way. swiftwithmajid.com/2025/06/24/gla…

I have a huge ASO downgrade on my apps after the recent App Store changes. I don't know how to recover positions 🥲
By default, the Animatable macro tries to animate all the stored properties of the type, but you can exclude some of them by using the AnimatableIgnored macro. swiftwithmajid.com/2025/07/08/int…
