iOS (Swift) Feed
1.8K subscribers
750 photos
63 videos
5 files
1.35K links
Support the channel https://buymeacoffee.com/seneca27

Articles and news on iOS and Swift development from across the web. Stay updated with the latest insights, best practices, news and tutorials in one place!

For any inquiries, contact @Seneca27
Download Telegram
SwiftUI Tip

In iOS 17.0+, use selectionDisabled() inside Picker to prevent specific options from being selected.

Perfect for options that are currently unavailable, such as sold out items.

source
How software engineering workflow has changed in the past year

Bruno Rocha explains how his software engineering workflow has shifted over the past year from mostly manual coding to relying heavily on AI agents, especially Claude, for both coding and understanding complex codebases.

He argues that engineers now need broader product-level thinking instead of narrow specialization, while also reflecting on the downside: AI speeds up delivery but makes the work feel less fun and less educational.
SwiftUI Tip

In iOS 17.0+, use contentMargins() on ScrollView to add extra spacing inside the scrollable content.

source
SwiftUI Tip

In iOS 18.0+, use onScrollVisibilityChange() to trigger an action when a specific view becomes visible while scrolling.

In this example, when the user reaches Row 20, a review request is triggered.

source
👻3
Apple Dev Search
This site is a search engine for Apple developers.

It lets you search thousands of articles from hundreds of Apple development blogs about Swift, SwiftUI, UIKit, macOS, iOS, WWDC, and related topics.

It indexes articles and blog content from Apple development blogs listed in the iOS Dev Directory via full-text RSS feeds.
Wishlist: Planning travel in a SwiftUI app
Build a travel planning app that organizes trips into collections and tracks activity completion.

Apple’s Wishlist is a SwiftUI sample app that helps users organize trips into collections, manage activities, and earn achievement badges. It demonstrates custom views, @ Observable, @ Environment, and @ Bindable, along with navigation title customization, animations, and zoom transitions between screens.

SwiftUI foundations session: Build great apps with SwiftUI
Apple’s SwiftUI foundations session explains the core principles of building great apps, including views, layout, design, motion, and data flow. It also features a real sample app, shows how AllTrails adopted SwiftUI incrementally without a full rewrite, and ends with a Q&A with SwiftUI engineering leaders.
NEW DOCS:

1. Running a machine learning model on the GPU timeline
Dispatch model inference commands with a machine learning pass in a Metal 4 command buffer.
This sample code shows how to run a Core ML model directly inside a Metal 4 command buffer with a machine learning pass on the GPU. It builds a pipeline from a Metal package, creates and binds tensors, dispatches the inference pass, and then compares the GPU matrix multiplication result with the CPU result.

2. Enabling enhanced security for your app
Detect out-of-bounds memory access, use of freed memory, and other potential vulnerabilities.
The article explains how Xcode’s Enhanced Security capability adds compiler settings, entitlements, and runtime checks to help catch memory bugs and harden an app against common attacks. It covers features like pointer authentication, memory tagging, stack zero-initialization, stricter compiler warnings, C/C++ bounds checks, and extra runtime restrictions, while warning that these protections can also cause crashes or performance issues if the app isn’t prepared for them.


3. Drawing a triangle with Metal 4
Render a colorful, rotating 2D triangle by running draw commands with a render pipeline on a GPU.
The sample shows how to render a colorful rotating 2D triangle with Metal 4 by sending draw commands from the CPU to the GPU. It explains the full rendering flow: creating long-term resources, compiling a render pipeline, encoding a render pass each frame, and managing three in-flight frames so rendering stays smooth.

4. Read the Metal Performance Primitives Programming Guide
The guide explains Apple’s new Metal Performance Primitives and tensor APIs in Metal 4, focusing on how to build fast GPU machine-learning kernels on Apple silicon, especially GEMM. It covers tiling, tile-size heuristics, threadgroup walk order, synchronization, static extents, and fusion with cooperative tensors for higher performance.


NEW TECHNOTES:

TN3205: Low-latency communication with RDMA over Thunderbolt
Learn how to use RDMA over Thunderbolt to enable low-latency communication between clusters of Mac computers.

The article/technote explains how Apple’s RDMA over Thunderbolt lets Macs with Apple silicon and Thunderbolt 5 communicate with very low latency, starting with macOS 26.2. It covers how to enable it, set up connections and topologies, exchange queue pair metadata, send and receive data through the RDMA Verbs API, and the main limits of this implementation.
SwiftUI Tip

Use tint() inside glassEffect() to apply a soft custom color to Liquid Glass views.

source
🍾3
Expanding Swift's IDE Support

Swift’s official VS Code extension is now available on Open VSX, expanding Swift support to editors like Cursor, VSCodium, Kiro and Antigravity, with features including code completion, debugging, testing, refactoring and DocC.
🍾4
Expose demangle function in Runtime module - this proposal introduces an official demangle API in Swift's Runtime module, allowing tools and apps to convert mangled Swift symbols into human-readable names directly in process.

It replaces slower or unofficial approaches, such as launching the swift-demangle tool or calling private runtime APIs.

The proposal includes both a simple String-based API and a lower-level version for performance-sensitive use cases, where output is written into a pre-allocated OutputSpan<UTF8.CodeUnit>; if the buffer is too small, the function throws DemanglingError.truncated(requiredBufferSize:), allowing the caller to retry with a larger allocation.

It also notes that while mangled symbols are ABI-stable, the demangled text format itself is not guaranteed to remain stable across Swift versions.

The proposal was accepted on January 13, 2026, and is marked as implemented for Swift 6.4.
Bolt (Tallinn, Estonia)

• Relocation support to Tallinn, Estonia – smooth transition, fully supported

Bolt is a private Estonian mobility company founded in 2013 that offers ride-hailing, scooter and e-bike rentals, food delivery, and car-sharing, employs 3,000+ people, and operates in more than 50 countries.

Senior iOS Engineer

recruiter's post on LinkedIn

___________________________
Daily REMOTE iOS job updates + iOS interview prep materials on the private Patreon page
“iOS (Swift) Jobs” → https://patreon.com/iOSjobs
Join for just €2(+VAT)/ month - about the price of a coffee ☕️
SwiftUI Tip

In iOS 26, use .buttonSizing(.flexible) when you want a button to expand and fill the available space along its primary axis.

source
SwiftUI Tip

In iOS 18.0+, use .presentationSizing(.fitted) to fit a sheet to its content on iPad.

Perfect for small sheets like confirmations, quick forms, or compact modal content.

source
Check out this iOS (hybrid) opening:

Urban Sports Club (Valencia, Spain)

• hybrid: in-office attendance is expected in the Valencia office ca. 3 days per months (travel costs cannot be reimbursed)
• Work up to 120 days remotely within the EU, the UK, and Switzerland, including 30 days outside the EU.
• You’ll also have the option to desk-swap at the company's other European offices

Urban Sports Club is a European sports and wellness platform that offers companies corporate fitness access to 50+ sports through 10,000+ partners across Europe and is now part of Wellhub’s wellbeing ecosystem spanning 39,000 corporate clients, 97,000 wellness partners, and 18 countries.

Senior iOS Engineer, 5+

post on LinkedIn

___________________________
Daily REMOTE iOS job updates + iOS interview prep materials on the private Patreon page
“iOS (Swift) Jobs” → https://patreon.com/iOSjobs
Join for just €2(+VAT)/ month - about the price of a coffee ☕️
Swift Package Manager Mirrors for Local Development

The article explains how to use Swift Package Manager mirrors to redirect a remote package dependency to a local repository for a cleaner CLI-only workflow.

It also notes the key limitation: local changes must be committed in the mirrored repo, and the mirror must match the exact dependency URL.
A Deep Dive into SwiftData migrations

The article explains how SwiftData migrations work in real apps, including versioned schemas, lightweight vs manual migrations, and when to use bridge versions for more complex data changes.

It shows practical examples and argues that migrations should be kept as simple as possible but tested carefully with real upgrade scenarios.
Recent publications on iOS development

1. You don't (always) need the SF Symbols app
The article explains that you can usually find SF Symbol names directly in Xcode through the Library, so you often do not need to open the separate SF Symbols app. It also notes that the SF Symbols app is still useful for extras like previewing animations and color variants.

2. Embedding SF Symbols in SwiftUI Text
The article explains how to embed SF Symbols directly inside SwiftUI Text by interpolating an Image, and why this works with LocalizedStringKey rather than ordinary string variables. It also shows the limitation with styling interpolated images and the workaround of wrapping the symbol in Text first.

3. Building List replacement in SwiftUI
The article explains why List is not always the best choice in SwiftUI, especially for non-uniform, card-based screens. It shows how to replace it with ScrollView plus lazy stacks and custom container views like ScrollingSurface, DividedCard, and SectionedSurface to get more control over layout and styling.

4. RocketSim 15: VoiceOver Navigator & Pro Simulator Recordings
The article is about RocketSim 15.0.0 and its new features for iOS developers, including VoiceOver Navigator, post-editing for simulator screenshots and videos, Liquid Glass accessibility testing, and a dedicated tab for network monitoring and speed control. It also mentions a new student discount program and explains how to install RocketSim.

5. Performance for Everyone
The main implementation described in the article is for Android, but Pinterest also notes that the same approach has been extended to iOS and web.
The article explains how Pinterest made performance measurement easier for product engineers by building "Visually Complete" tracking into a base UI class. It shows that this all-in-one system automatically measures user-perceived latency across many surfaces, helping teams compare, protect, and improve app performance with much less engineering effort.
Swift Compiler Changes the Easy Way

The article describes how the author contributed to a Swift compiler change after noticing that errors thrown inside a Task body are silently swallowed with no warning, making it easy to accidentally miss critical work.

What started as a forum suggestion turned into an unexpected collaboration with a Swift compiler engineer, a proposal that ultimately wasn't required, and a surprise compiler crash that the changes exposed rather than caused - which took 24 hours for someone else to fix.

The author reflects on how enormous and slow the Swift compiler infrastructure is, and how much depends on finding the right people to do the hard parts.
Universal Links At Scale: The Challenges Nobody Talks About

The article explains that Universal Links become much more difficult in real products than most iOS developers expect, especially when teams must manage AASA files, Apple's CDN caching, wildcard matching, substitution variables, staging environments, and regression testing at scale.

Existing online validators fall short - they don't check schema correctness or URL pattern logic - so the author built a custom Swift CLI tool that handles all of this.

It also covers how to integrate these checks into CI pipelines to catch problems early, and warns about subtle encoding issues with special characters in localized URLs.
Defining custom string interpolation behavior in Swift

The article explains how to customize Swift string interpolation by extending String.StringInterpolation to add extra behavior inside string literals.

It shows how to use FormatStyle so values like Date can be formatted inline more cleanly and reused across the code.