Global Consumer Tech (Thailand)
• Full relocation package provided to Bangkok (visa, flights, housing, family support
• Salary up to 280,000 THB
Looking for a Principal / Lead iOS Engineer to join a globally recognised consumer technology company building one of the most widely used mobile platforms in the world.
This team focuses on core iOS platform engineering, powering multiple product lines used daily by millions of users across different markets.
• 8+ years iS experience, strong Swift (Objective-C plus)
• 2-3+ years leading teams/projects (5+ engineers)
• Experience in large-scale product companies (Google, Meta, Grab, etc.)
• Not purely native: Web/JS, React Native or Flutter exposure
Send your resume to pornpon@trueblue.co.th
Mobile: 0800610311
Principal/ Lead iOS Engineer, 8+
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 ☕️
• Full relocation package provided to Bangkok (visa, flights, housing, family support
• Salary up to 280,000 THB
Looking for a Principal / Lead iOS Engineer to join a globally recognised consumer technology company building one of the most widely used mobile platforms in the world.
This team focuses on core iOS platform engineering, powering multiple product lines used daily by millions of users across different markets.
• 8+ years iS experience, strong Swift (Objective-C plus)
• 2-3+ years leading teams/projects (5+ engineers)
• Experience in large-scale product companies (Google, Meta, Grab, etc.)
• Not purely native: Web/JS, React Native or Flutter exposure
Send your resume to pornpon@trueblue.co.th
Mobile: 0800610311
Principal/ Lead iOS Engineer, 8+
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: Peer-to-Peer with Wifi Aware. In Detail! With a Local Content Collaboration App!
Itsuki explains how to build a SwiftUI peer-to-peer app with Apple’s new Wi-Fi Aware for local content collaboration without internet, cloud, or Wi-Fi infrastructure.
He walks through the full flow: entitlements and Info.plist setup, device pairing with DeviceDiscoveryUI, publishing and browsing services, creating secure low-latency NetworkConnections, and syncing shared content between nearby devices.
Itsuki explains how to build a SwiftUI peer-to-peer app with Apple’s new Wi-Fi Aware for local content collaboration without internet, cloud, or Wi-Fi infrastructure.
He walks through the full flow: entitlements and Info.plist setup, device pairing with DeviceDiscoveryUI, publishing and browsing services, creating secure low-latency NetworkConnections, and syncing shared content between nearby devices.
SwiftUI Tip
In iOS 16.0+, use toolbarTitleMenu() to turn the navigation title into a menu for quick actions and filters.
source
In iOS 16.0+, use toolbarTitleMenu() to turn the navigation title into a menu for quick actions and filters.
source
New in SwiftUI
In iOS 26, use .safeAreaBar() for bar-style content at the safe-area edge.
Unlike .safeAreaInset(), it integrates with the scroll edge effect.
source
In iOS 26, use .safeAreaBar() for bar-style content at the safe-area edge.
Unlike .safeAreaInset(), it integrates with the scroll edge effect.
source
New in SwiftUI
In iOS 26, use sliderThumbVisibility() to show or hide the thumb of a Slider.
When hidden, the slider still works by dragging anywhere across the control, similar to system volume or media controls.
source
In iOS 26, use sliderThumbVisibility() to show or hide the thumb of a Slider.
When hidden, the slider still works by dragging anywhere across the control, similar to system volume or media controls.
source
Using Apple Foundation Models to Summarize Text
Build an on-device text summarizer using Apple Foundation Models and SwiftUI, with step-by-step guidance on availability checks and summarization.
Bill Morefield explains how to build an on-device text summarizer with Apple Foundation Models in SwiftUI for Swift 6, iOS 26, and Xcode 26.
He shows how to check model availability, handle Apple Intelligence readiness errors, and use LanguageModelSession to generate summaries from shared text.
Build an on-device text summarizer using Apple Foundation Models and SwiftUI, with step-by-step guidance on availability checks and summarization.
Bill Morefield explains how to build an on-device text summarizer with Apple Foundation Models in SwiftUI for Swift 6, iOS 26, and Xcode 26.
He shows how to check model availability, handle Apple Intelligence readiness errors, and use LanguageModelSession to generate summaries from shared text.
SwiftUI Tip
In iOS 16.0+, use navigationDocument() to attach a document, such as a PDF, to your navigation title.
Tapping the title shows a preview with quick access to Markup, Share, Print, and Save.
source
In iOS 16.0+, use navigationDocument() to attach a document, such as a PDF, to your navigation title.
Tapping the title shows a preview with quick access to Markup, Share, Print, and Save.
source
Modularizing Swift Apps with SPM
A great/useful article on how to modularize a Swift app with Swift Package Manager by splitting it into Common, API, Domain, and Feature layers with strict one-way dependencies.
It shows how this structure can improve build times, enforce architectural boundaries, and make previews, testing, and dependency injection much cleaner.
A great/useful article on how to modularize a Swift app with Swift Package Manager by splitting it into Common, API, Domain, and Feature layers with strict one-way dependencies.
It shows how this structure can improve build times, enforce architectural boundaries, and make previews, testing, and dependency injection much cleaner.
🍾1
My Beef with the iOS 26 Tab Bar
The iOS 26 search tab looks more like an action button than a tab. That's causing problems for developers who want to follow Apple's guidelines.
The article argues that iOS 26’s new search tab looks like an action button instead of a navigation tab, which confuses both users and developers.
It says this pushes many apps to break Apple’s own guidelines by turning that spot into a primary action button, while developers who follow the rules risk making their apps feel inconsistent or outdated.
The iOS 26 search tab looks more like an action button than a tab. That's causing problems for developers who want to follow Apple's guidelines.
The article argues that iOS 26’s new search tab looks like an action button instead of a navigation tab, which confuses both users and developers.
It says this pushes many apps to break Apple’s own guidelines by turning that spot into a primary action button, while developers who follow the rules risk making their apps feel inconsistent or outdated.
Low-latency communication with RDMA (Remote Direct Memory Access) over Thunderbolt
Apple’s new RDMA over Thunderbolt feature lets Apple silicon Macs with Thunderbolt 5 communicate with very low latency through an RDMA Verbs-compatible API.
This new technote explains how to enable and set it up in macOS, outlines its limits and supported topologies, and walks through the core RDMA workflow: memory registration, queue pair setup, peer addressing, send/receive operations, and completion polling.
Apple’s new RDMA over Thunderbolt feature lets Apple silicon Macs with Thunderbolt 5 communicate with very low latency through an RDMA Verbs-compatible API.
This new technote explains how to enable and set it up in macOS, outlines its limits and supported topologies, and walks through the core RDMA workflow: memory registration, queue pair setup, peer addressing, send/receive operations, and completion polling.
Diagnosing issues using crash reports and device logs
Use crash reports and device logs to debug app issues.
This Apple documentation page explains how to diagnose app issues using crash reports, jetsam event reports, and device console logs.
It shows how to collect and interpret these logs, symbolicate crash reports, identify common crash and memory problems, and use logging to debug distributed builds.
Use crash reports and device logs to debug app issues.
This Apple documentation page explains how to diagnose app issues using crash reports, jetsam event reports, and device console logs.
It shows how to collect and interpret these logs, symbolicate crash reports, identify common crash and memory problems, and use logging to debug distributed builds.
🤪2
Check out these iOS (on-site or hybrid) openings:
1. ATCOM (Nea Ionia, Greece, hybrid)
Senior iOS Developer
2. Tinder (Ghent, Belgium, hybrid)
Software Engineer II, iOS
3. ARQ (London; Krakow; New York, hybrid)
Lead iOS Software Engineer, 6+
___________________________
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 ☕️
1. ATCOM (Nea Ionia, Greece, hybrid)
Senior iOS Developer
2. Tinder (Ghent, Belgium, hybrid)
Software Engineer II, iOS
3. ARQ (London; Krakow; New York, hybrid)
Lead iOS Software Engineer, 6+
___________________________
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.0+, Slider supports neutralValue, letting you define a center point like 0 inside the range.
This is perfect for values that can move in both directions, such as speed, balance, offset, or rotation.
source
In iOS 26.0+, Slider supports neutralValue, letting you define a center point like 0 inside the range.
This is perfect for values that can move in both directions, such as speed, balance, offset, or rotation.
source
SwiftUI Tip
In iOS 26, use navigationSubtitle() in to show helpful secondary text under the navigation title, like edit time, status, or context.
source
In iOS 26, use navigationSubtitle() in to show helpful secondary text under the navigation title, like edit time, status, or context.
source
SwiftUI Tip
In iOS 18.0+, use searchFocused() to focus the search field programmatically.
Perfect for screens where you want Search ready immediately.
source
In iOS 18.0+, use searchFocused() to focus the search field programmatically.
Perfect for screens where you want Search ready immediately.
source
SwiftUI Tip
Small detail, better UX: use keyboardType() to show the right keyboard for each field.
(Updated for the iOS 26 design)
source
Small detail, better UX: use keyboardType() to show the right keyboard for each field.
(Updated for the iOS 26 design)
source
10× faster Xcode CI builds with slot caching
The article explains how the author reduced Xcode CI presubmit times from 15–30 minutes to about 2.5 minutes by using self-hosted Macs, fixed-path “slot” caches and a generated umbrella Swift package to improve artifact reuse.
It also shows how this approach avoids cold rebuilds, runs only affected tests, and keeps CI fast enough to preserve developer flow.
The article explains how the author reduced Xcode CI presubmit times from 15–30 minutes to about 2.5 minutes by using self-hosted Macs, fixed-path “slot” caches and a generated umbrella Swift package to improve artifact reuse.
It also shows how this approach avoids cold rebuilds, runs only affected tests, and keeps CI fast enough to preserve developer flow.
SwiftUI Tip
When building paywalls using StoreKit and SwiftUI, use subscriptionStoreControlStyle() to change how subscription plans appear.
source
When building paywalls using StoreKit and SwiftUI, use subscriptionStoreControlStyle() to change how subscription plans appear.
source