Majid Jabrayilov's Avatar

Majid Jabrayilov

@mecid

Swift Developer: iOS, watchOS, visionOS, tvOS, macOS. https://swiftwithmajid.com

1,709
Followers
586
Following
509
Posts
16.11.2024
Joined
Posts Following

Latest posts by Majid Jabrayilov @mecid

Post image

SwiftUI provides the Layout protocol allowing us to build super-custom layouts by digging into the layout system without using GeometryReader. Layout protocol brings us the incredible power of building and reusing any layout you can imagine.
swiftwithmajid.com/2022/11/16/b...

06.03.2026 09:28 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

The TipKit framework provides the #Rule macro, which allows us to define dynamic rules based on the app state. You can define many parameters and build complex rules using many of them. The rules property of the Tip protocol uses the RuleBuilder result builder.
swiftwithmajid.com/2024/05/15/d...

05.03.2026 11:40 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Modular app structure allows your coding agent easier to follow your separation of concerns. This structure simplifies navigation within the source code and optimizes token usage.
swiftwithmajid.com/2022/01/12/m...

03.03.2026 09:07 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Post image

The safeAreaInset view modifier is another way to manage the safe area of the view. The safeAreaInset view modifier allows you to shift the safe area of the view by placing another view inside the original safe area of the view.
swiftwithmajid.com/2021/11/03/m...

02.03.2026 10:54 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Agentic coding in Xcode Apple has finally released Xcode 26.3, which now supports agentic coding. In this article, I’ll guide you through configuring Xcode 26.3 and utilizing the latest best practices when using agentic…

Xcode 26.3 is now available for download. Your agent can reason about your codebase, access documentation, run previews, and align implementation with design intent β€” all within Xcode. If you haven’t started using agentic coding yet, it’s time to get started.
swiftwithmajid.com/2026/02/10/a...

27.02.2026 08:40 πŸ‘ 4 πŸ” 1 πŸ’¬ 1 πŸ“Œ 1
Post image

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/t...

26.02.2026 12:20 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Unfortunately, it doesn’t provide functionality i need.

25.02.2026 14:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

For example, which one? As I know, we can’t use Apple Foundation Models with image input.

25.02.2026 13:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Building AI features using Foundation Models Apple introduced the brand-new Foundational Models framework, providing type-safe APIs for using Apple Intelligence models in your apps. This week, we will learn how to use this new framework while…

I’m developing an app that utilizes three distinct Large Language Models:
1. OpenAI API for image recognition.
2. Apple Foundation Models for on-device personalization and recommendations.
3. Image Playgrounds for on-device image generation based on user data.
swiftwithmajid.com/2025/08/19/b...

25.02.2026 09:09 πŸ‘ 6 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0
Post image

SwiftUI has ContentUnavailableView type, allowing us to display empty, error states or any other state where content is unavailable in our apps. It allows us also display action buttons below the description.
swiftwithmajid.com/2023/10/31/m...

24.02.2026 10:09 πŸ‘ 6 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Post image

I’m continuing to develop AI-generated content within my applications, this time focusing on image generation. The Image Playground framework offers a text-to-image functionality, and the core component of this framework is the ImageCreator type.
swiftwithmajid.com/2025/11/11/g...

20.02.2026 10:21 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

SwiftUI provides us the keyboardShortcut modifier that we can attach to any view in the view hierarchy and define a keyboard shortcut. Pressing the defined keyboard shortcut is the equivalent to direct interaction with the view to perform its primary action.
swiftwithmajid.com/2020/11/17/k...

19.02.2026 12:09 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image

TimelineView, a SwiftUI view type, updates its body according to a schedule. Unlike other SwiftUI views that update on data changes, TimelineView allows for a custom schedule to precisely update its content.
swiftwithmajid.com/2022/05/18/m...

17.02.2026 11:54 πŸ‘ 9 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

As a trunk-based development fan, feature flags are vital for me. Every recent feature I work on has a feature flag for debug and TestFlight builds. Since I merge branches even when features aren’t fully implemented, I use feature flags to disable them.
swiftwithmajid.com/2025/09/16/f...

16.02.2026 12:49 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Another task view modifier allows observing equitable data and running the async task whenever it changes. The task lifecycle is still tied to the view lifecycle, but SwiftUI cancels the ongoing job and creates a new one when id changes.
swiftwithmajid.com/2022/06/28/t...

13.02.2026 13:44 πŸ‘ 6 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Functional core Imperative shell in Swift. Unidirectional Flow. A few weeks ago, we talked about the idea of Functional core and Imperative shell in Swift. The goal is to extract the pure logic using value types and keep side effects in the thin object layer.…

Using coding agents doesn’t mean you should solely rely on their code. Define your boundaries to achieve better results. The Functional Core - Imperative Shell approach allows me to get nice code from agents.
swiftwithmajid.com/2022/03/16/f...

12.02.2026 11:35 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
On-demand resources in iOS app On-Demand Resources allow you to ship a smaller initial app download and fetch additional assets like images, sounds, level data, ML models, and more only when a user requires them. This week, we’ll…

πŸ“¦ 𝑂𝑛-π‘‘π‘’π‘šπ‘Žπ‘›π‘‘ π‘Ÿπ‘’π‘ π‘œπ‘’π‘Ÿπ‘π‘’π‘  𝑖𝑛 𝑖𝑂𝑆 π‘Žπ‘π‘ by Majid Jabrayilov (@mecid.bsky.social)

Ever thought about keeping API tokens out of your app binary? On-Demand Resources offer a clever defense-in-depth technique worth exploring.

#iOS #Security #Swift #Framework

swiftwithmajid.com/2026/02/03/o...

11.02.2026 15:05 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

RC builds typically appear on the Mac App Store without any modifications. Even highly stable Xcode releases can cause some projects to break. We’re never certain.

11.02.2026 10:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Agentic coding in Xcode Apple has finally released Xcode 26.3, which now supports agentic coding. In this article, I’ll guide you through configuring Xcode 26.3 and utilizing the latest best practices when using agentic…

Apple has finally released Xcode 26.3, which now supports agentic coding. In this article, I’ll guide you through configuring Xcode 26.3 and utilizing the latest best practices when using agentic tools for building apps on Apple platforms.
swiftwithmajid.com/2026/02/10/a...

11.02.2026 09:51 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

SwiftUI introduced a view modifier called visualEffect. This modifier allows us to attach a set of animatable visual effects by accessing layout information of the particular view. Here is the example of sticky header view that can be placed in a scroll view.
swiftwithmajid.com/2023/11/07/v...

10.02.2026 09:30 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

SwiftUI allows us to maintain the structural identity of our view while changing the layout container using the new AnyLayout type. This type erases the layout type that depends on the current dynamic type size, preserving the structural identity of our view.
swiftwithmajid.com/2022/08/16/c...

09.02.2026 10:34 πŸ‘ 7 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image

Was reminded today that this exists; smart banners to redirect your users to your app from your website. Easy to add, helps with conversion πŸ‘

https://maxine-app.com

08.02.2026 20:50 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Put your opinions into Agents.md

07.02.2026 19:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I’ve noticed that the infinite thinking issue occurs occasionally when using Codex-5.3 in Xcode. Do you experience the same problem?

07.02.2026 17:34 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Whenever you have installed the latest Codex on your Mac. You can make it available for Xcode.

ln -sf $(which codex) ~/Library/Developer/Xcode/CodingAssistant/Agents/Versions/26.3/codex

07.02.2026 17:33 πŸ‘ 0 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1

I’m not a fan of vibecoding, but since I’m a big fan of pair programming, I work in pairs with Codex.

06.02.2026 09:35 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I’ve been using Codex from the very beginning, exclusively from the terminal. However, I’ve come to genuinely enjoy having it integrated into Xcode. It feels more intuitive to review the code it generates. It’s akin to pair programming, which I thoroughly enjoyed.

05.02.2026 19:04 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

There are three tag types: initial install, prefetched, and download-only. Prefetched and initial install tags are downloaded from the App Store with the app binary. Download-only tags are downloaded only via an API, but their usage is the same.
swiftwithmajid.com/2026/02/03/o...

05.02.2026 10:22 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

I made this onboarding before Claude Code or Codex existed. I made it open source on GitHub, so take it if you want.

04.02.2026 20:07 πŸ‘ 6 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

Happy ο£Ώ 26.3 Release Candidate day, everyone!

iOS, visionOS, macOS, tvOS, watchOS are available

04.02.2026 20:29 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0