SwiftUI Tip
Easily ask users for ratings by showing the App Store rating prompt inside your app - in just 3 easy steps.
source
Easily ask users for ratings by showing the App Store rating prompt inside your app - in just 3 easy steps.
source
🍾2
Enhancements to help you submit and market your apps and games
Apple announces App Store changes: submit extra items during review, create up to 70 custom product pages with keywords, and use offer codes for all IAP types.
- App Review: submit extra items independently (In-App Events, urgent bug fix version, Game Center features) even while a version is under review.
- Custom Product Pages: limit doubled to 70; add keywords so specific pages can appear in search instead of the default page.
- Offer codes: now supported for all IAP types (consumable, non-consumable, non-renewing, plus expanded auto-renewable options, including non-auto-renew after promo).
- Contracts: Schedule 1 and Paid Applications Agreement (Schedules 2 & 3) will be updated to reflect offer codes for all IAP types.
- Promo codes for IAP: creation ends March 26, 2026 (existing codes redeemable until expiry); app download promo codes remain.
more details
Apple announces App Store changes: submit extra items during review, create up to 70 custom product pages with keywords, and use offer codes for all IAP types.
- App Review: submit extra items independently (In-App Events, urgent bug fix version, Game Center features) even while a version is under review.
- Custom Product Pages: limit doubled to 70; add keywords so specific pages can appear in search instead of the default page.
- Offer codes: now supported for all IAP types (consumable, non-consumable, non-renewing, plus expanded auto-renewable options, including non-auto-renew after promo).
- Contracts: Schedule 1 and Paid Applications Agreement (Schedules 2 & 3) will be updated to reflect offer codes for all IAP types.
- Promo codes for IAP: creation ends March 26, 2026 (existing codes redeemable until expiry); app download promo codes remain.
more details
🍾2
SwiftUI Tip
Repeat an image to fill all available space using .resizable(resizingMode: .tile).
Perfect for patterns, textures, and watermarks.
source
Repeat an image to fill all available space using .resizable(resizingMode: .tile).
Perfect for patterns, textures, and watermarks.
source
🍾2
Introducing Aardvark: OpenAI’s agentic security researcher
OpenAI introduced Aardvark, a GPT-5–powered autonomous security researcher now in private beta with select partners.
The agent continuously analyzes code repositories to identify, validate, and help fix vulnerabilities using LLM-based reasoning and Codex-generated patches.
In tests, Aardvark detected 92% of known vulnerabilities and has already uncovered real issues across OpenAI’s and partners’ codebases.
It also discovered several open-source bugs that received CVE identifiers, with plans for pro-bono scanning to support non-commercial projects.
OpenAI introduced Aardvark, a GPT-5–powered autonomous security researcher now in private beta with select partners.
The agent continuously analyzes code repositories to identify, validate, and help fix vulnerabilities using LLM-based reasoning and Codex-generated patches.
In tests, Aardvark detected 92% of known vulnerabilities and has already uncovered real issues across OpenAI’s and partners’ codebases.
It also discovered several open-source bugs that received CVE identifiers, with plans for pro-bono scanning to support non-commercial projects.
🤪3
App Store Price Update: Poland, Switzerland, Türkiye
Starting Nov 17, prices for apps and one-time IAPs will auto-update in Poland, Switzerland, and Türkiye unless that storefront is your base.
Auto-renewable subscriptions and manually priced storefronts aren’t affected.
App Store Connect already shows the changes and lets you adjust your base storefront or prices.
Starting Nov 17, prices for apps and one-time IAPs will auto-update in Poland, Switzerland, and Türkiye unless that storefront is your base.
Auto-renewable subscriptions and manually priced storefronts aren’t affected.
App Store Connect already shows the changes and lets you adjust your base storefront or prices.
Roadmap for improving the type checker
Swift’s constraint-based expression type checker can hit exponential complexity.
This post explains why, what 6.2 and main (toward 6.3) changed to make it faster and more predictable, and what’s next - smarter disjunction selection and memory use, improved bindings and diagnostics, pruning operator overloads, and SAT-style techniques to reduce hitting solver limits and improve errors.
What’s shipped & in progress:
- Swift 6.2: Profiling + optimizations to backtracking and graph algorithms → the same search work, done faster.
- Main (toward 6.3): New disjunction-selection strategy that solves many previously “hard” expressions quickly (notably with operators and literals).
- Memory usage: Arena optimization for generic overloads (disabled by default; enable with -solver-enable-prepared-overloads) to curb exponential space blowups.
- Perf tests: More real-world “slow” cases + scale tests to catch regressions.
What’s next (near-term):
- Bindings overhaul: Faster selection of concrete types, earlier contradictions; big wins for large array/dictionary literals.
- Fewer brittle hacks: Remove special-cases (collection subscripts, “two generic overloads”, common-return shortcuts, operator partitions).
- Cheaper partial solutions: Lower overhead when merging independently solved components.
- Better salvage mode: Fewer “failed to produce” messages; avoid cases where salvage succeeds when normal checking fails - emit a fallback diagnostic instead.
Longer-term ideas:
- Prune operator overloads: Hide protocol-witness overloads (e.g., Equatable.==) and adjust ranking to shrink search space (may be slightly source-breaking in edge cases).
- Tighten polymorphic literals: Reduce Int/Double ambiguity for integer literals (e.g., require a decimal point for floats).
- SAT-style solving: Non-chronological backtracking and clause learning to avoid re-exploring dead ends.
more details
Swift’s constraint-based expression type checker can hit exponential complexity.
This post explains why, what 6.2 and main (toward 6.3) changed to make it faster and more predictable, and what’s next - smarter disjunction selection and memory use, improved bindings and diagnostics, pruning operator overloads, and SAT-style techniques to reduce hitting solver limits and improve errors.
What’s shipped & in progress:
- Swift 6.2: Profiling + optimizations to backtracking and graph algorithms → the same search work, done faster.
- Main (toward 6.3): New disjunction-selection strategy that solves many previously “hard” expressions quickly (notably with operators and literals).
- Memory usage: Arena optimization for generic overloads (disabled by default; enable with -solver-enable-prepared-overloads) to curb exponential space blowups.
- Perf tests: More real-world “slow” cases + scale tests to catch regressions.
What’s next (near-term):
- Bindings overhaul: Faster selection of concrete types, earlier contradictions; big wins for large array/dictionary literals.
- Fewer brittle hacks: Remove special-cases (collection subscripts, “two generic overloads”, common-return shortcuts, operator partitions).
- Cheaper partial solutions: Lower overhead when merging independently solved components.
- Better salvage mode: Fewer “failed to produce” messages; avoid cases where salvage succeeds when normal checking fails - emit a fallback diagnostic instead.
Longer-term ideas:
- Prune operator overloads: Hide protocol-witness overloads (e.g., Equatable.==) and adjust ranking to shrink search space (may be slightly source-breaking in edge cases).
- Tighten polymorphic literals: Reduce Int/Double ambiguity for integer literals (e.g., require a decimal point for floats).
- SAT-style solving: Non-chronological backtracking and clause learning to avoid re-exploring dead ends.
more details
🤪2
ConcentricRectangle in SwiftUI
In iOS 26+, ConcentricRectangle adapts its corners to match the container’s shape for a smoother look.
source
In iOS 26+, ConcentricRectangle adapts its corners to match the container’s shape for a smoother look.
source
Check out these iOS openings:
1. The Daily Wire (Nashville, TN, on-site)
The Daily Wire is a U.S. media and entertainment company founded in 2015 that produces conservative news, podcasts, and video content, offering digital streaming and subscription-based media services.
Staff Software Engineer, iOS, 8+
2. Tinder Seoul (Seoul, Hybrid)
The Recs Seoul team is Tinder’s global engineering unit in South Korea focused on advancing the company’s recommendation system through feature development, performance optimization, and collaboration with international teams to enhance user experience and matchmaking quality.
Software Engineer, iOS
3. Nord Security (Vilnius, Warsaw, Kaunas, hybrid)
Nord Security, founded in 2012, is a global leader in digital security and privacy solutions with over 2,000 employees, offering products like NordVPN, NordLayer, NordPass, NordStellar, NordLocker, and Saily to millions of users worldwide.
- iOS Engineer, Mid-Senior 3+, Saily (Vilnius / Kaunas)
3200-7000 EUR/month
- iOS Engineer, Mid-Senior 3+, Saily (Warsaw)
18,000 zł - 33,400 zł a month
- iOS Engineer, Mid 3+, NordLayer (Warsaw)
18,000 zł - 22,900 zł a month
- iOS Engineer, Mid 3+, NordLayer (Vilnius)
- MacOS Engineer, Mid-Senior 3+, Apps (Vilnius)
3200 - 7000 EUR/month.
4. UWorld (Hyderabad, India, on-site)
UWorld, founded in 2003, is a U.S.-based leader in online test preparation for college, graduate, and professional licensing exams, serving over 2 million students with high-quality learning platforms and native mobile apps.
iOS Developer 3+
5. Scotiabank (Canada
Scotiabank (The Bank of Nova Scotia, founded in 1832; TSX/NYSE: BNS) is a Canadian multinational bank serving millions across ~35 countries in the Americas, with about 90,000 employees.
- Senior iOS Developer 5+, Tangerine (Canada, Ontario)
Tangerine is a Canadian direct/digital bank founded in 1997 (formerly ING Direct Canada), now a Scotiabank subsidiary, serving customers nationwide with online banking and over 1,000 employees.
- Senior iOS Developer (Canada, Ontario)
- Senior Software Developer (iOS) 5+ (Canada, Ontario)
- Ssr iOS Developer (Mexico City)
6. eBay (Germany, Netherlands , UK, India, USA, Canada)
multiple iOS openings
7. Monzo bank (Barcelona, hybrid)
Monzo is a UK-based digital bank founded in 2015 that serves millions of customers with personal, business, joint, teen and kids accounts, credit cards, savings and investments, employs 3,000+ people, and is known for its hot coral cards and “get paid early” feature.
- iOS Engineer
- Senior iOS Engineer
8. TV4 (Stockholm, Sweden, hybrid)
TV4 is a Swedish media company and TV network founded in 1990 that delivers independent news, entertainment, live sports, and premium drama via TV4 and TV4 Play to millions of viewers across Sweden.
iOS-utvecklare till Player Team
9. Redfin (Seattle, Washington)
Redfin is a technology-driven real estate company and home-search platform, part of Rocket Companies (NYSE: RKT), offering the country’s most-visited brokerage website, on-demand tours, and an integrated search-to-close homebuying experience via its consumer apps.
iOS Mobile Developer 2+, Latin & South America
10. SpareRoom (Stockport, UK)
SpareRoom, launched in 2004, is the world’s leading flatshare site helping over 14 million people in the UK and US find shared homes and tenants, run as a founder-owned modern family business focused on creating happier flatshares.
- £50k - £70k
Senior iOS Developer 5+
____________________________________
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. The Daily Wire (Nashville, TN, on-site)
The Daily Wire is a U.S. media and entertainment company founded in 2015 that produces conservative news, podcasts, and video content, offering digital streaming and subscription-based media services.
Staff Software Engineer, iOS, 8+
2. Tinder Seoul (Seoul, Hybrid)
The Recs Seoul team is Tinder’s global engineering unit in South Korea focused on advancing the company’s recommendation system through feature development, performance optimization, and collaboration with international teams to enhance user experience and matchmaking quality.
Software Engineer, iOS
3. Nord Security (Vilnius, Warsaw, Kaunas, hybrid)
Nord Security, founded in 2012, is a global leader in digital security and privacy solutions with over 2,000 employees, offering products like NordVPN, NordLayer, NordPass, NordStellar, NordLocker, and Saily to millions of users worldwide.
- iOS Engineer, Mid-Senior 3+, Saily (Vilnius / Kaunas)
3200-7000 EUR/month
- iOS Engineer, Mid-Senior 3+, Saily (Warsaw)
18,000 zł - 33,400 zł a month
- iOS Engineer, Mid 3+, NordLayer (Warsaw)
18,000 zł - 22,900 zł a month
- iOS Engineer, Mid 3+, NordLayer (Vilnius)
- MacOS Engineer, Mid-Senior 3+, Apps (Vilnius)
3200 - 7000 EUR/month.
4. UWorld (Hyderabad, India, on-site)
UWorld, founded in 2003, is a U.S.-based leader in online test preparation for college, graduate, and professional licensing exams, serving over 2 million students with high-quality learning platforms and native mobile apps.
iOS Developer 3+
5. Scotiabank (Canada
Scotiabank (The Bank of Nova Scotia, founded in 1832; TSX/NYSE: BNS) is a Canadian multinational bank serving millions across ~35 countries in the Americas, with about 90,000 employees.
- Senior iOS Developer 5+, Tangerine (Canada, Ontario)
Tangerine is a Canadian direct/digital bank founded in 1997 (formerly ING Direct Canada), now a Scotiabank subsidiary, serving customers nationwide with online banking and over 1,000 employees.
- Senior iOS Developer (Canada, Ontario)
- Senior Software Developer (iOS) 5+ (Canada, Ontario)
- Ssr iOS Developer (Mexico City)
6. eBay (Germany, Netherlands , UK, India, USA, Canada)
multiple iOS openings
7. Monzo bank (Barcelona, hybrid)
Monzo is a UK-based digital bank founded in 2015 that serves millions of customers with personal, business, joint, teen and kids accounts, credit cards, savings and investments, employs 3,000+ people, and is known for its hot coral cards and “get paid early” feature.
- iOS Engineer
- Senior iOS Engineer
8. TV4 (Stockholm, Sweden, hybrid)
TV4 is a Swedish media company and TV network founded in 1990 that delivers independent news, entertainment, live sports, and premium drama via TV4 and TV4 Play to millions of viewers across Sweden.
iOS-utvecklare till Player Team
9. Redfin (Seattle, Washington)
Redfin is a technology-driven real estate company and home-search platform, part of Rocket Companies (NYSE: RKT), offering the country’s most-visited brokerage website, on-demand tours, and an integrated search-to-close homebuying experience via its consumer apps.
iOS Mobile Developer 2+, Latin & South America
10. SpareRoom (Stockport, UK)
SpareRoom, launched in 2004, is the world’s leading flatshare site helping over 14 million people in the UK and US find shared homes and tenants, run as a founder-owned modern family business focused on creating happier flatshares.
- £50k - £70k
Senior iOS Developer 5+
____________________________________
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👻1
11. Bumble (TX Austin, hybrid)
Bumble Inc. is an equal opportunity employer that welcomes applicants across ages, backgrounds, and identities - including LGBTQ+, non-binary, veterans, parents, people with disabilities, and neurodivergent people - offers reasonable adjustments in the process, and invites candidates to share their pronouns.
- $185,000 - $222,500 a year
Senior iOS Engineer 6+
12. Neugelb Studios (Berlin)
Neugelb is a service-design studio founded in 2016 as a Commerzbank subsidiary, with offices in Berlin and Frankfurt, creating human-centered digital products through Design Thinking to support ongoing digital culture change.
Senior iOS Developer
13. Kambi (Copenhagen, Denmark, on-site)
Kambi is a Malta-headquartered sports betting technology and services provider with 1,000+ employees and offices in Bucharest, London, Manila, Sydney, Uppsala, Philadelphia and Stockholm, trusted by 50+ sportsbooks and offering its flagship Turnkey Sportsbook plus standalone products (Odds Feed+, Managed Trading, Sportsbook Platform, Bet Builder, Esports, Front End) while operating Abios, Shape Games and AI trading division Tzeract.
- iOS Developer - Native Sports App
- iOS Developer - Shape Games
14. Paysafe (Sofia, BG)
Paysafe is a leading global payments platform for merchants and consumers in entertainment sectors, enabling seamless transactions via payment processing, digital wallets, and online cash solutions on an integrated, mobile-first platform with real-time analytics that bridges brick-and-mortar and online payments.
Junior iOS Developer 1+
____________________________________
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 ☕️
Bumble Inc. is an equal opportunity employer that welcomes applicants across ages, backgrounds, and identities - including LGBTQ+, non-binary, veterans, parents, people with disabilities, and neurodivergent people - offers reasonable adjustments in the process, and invites candidates to share their pronouns.
- $185,000 - $222,500 a year
Senior iOS Engineer 6+
12. Neugelb Studios (Berlin)
Neugelb is a service-design studio founded in 2016 as a Commerzbank subsidiary, with offices in Berlin and Frankfurt, creating human-centered digital products through Design Thinking to support ongoing digital culture change.
Senior iOS Developer
13. Kambi (Copenhagen, Denmark, on-site)
Kambi is a Malta-headquartered sports betting technology and services provider with 1,000+ employees and offices in Bucharest, London, Manila, Sydney, Uppsala, Philadelphia and Stockholm, trusted by 50+ sportsbooks and offering its flagship Turnkey Sportsbook plus standalone products (Odds Feed+, Managed Trading, Sportsbook Platform, Bet Builder, Esports, Front End) while operating Abios, Shape Games and AI trading division Tzeract.
- iOS Developer - Native Sports App
- iOS Developer - Shape Games
14. Paysafe (Sofia, BG)
Paysafe is a leading global payments platform for merchants and consumers in entertainment sectors, enabling seamless transactions via payment processing, digital wallets, and online cash solutions on an integrated, mobile-first platform with real-time analytics that bridges brick-and-mortar and online payments.
Junior iOS Developer 1+
____________________________________
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 ☕️
🍾2
What's new in Swift: October 2025 Edition
It’s the first monthly Swift digest:
Joe Heck recaps Server-Side Swift (Ben Cohen on performance) and highlights observability progress (swift-otel 1.0, async-http-client 1.29, Valkey tracing).
It also rounds up October updates - Android SDK preview, VS Code Swift extension 2.12.0, a new Build & Packaging workgroup, refreshed SPM docs, notable package releases, and Swift Evolution news (SE-0497 under review; SE-0495/SE-0496 accepted).
It’s the first monthly Swift digest:
Joe Heck recaps Server-Side Swift (Ben Cohen on performance) and highlights observability progress (swift-otel 1.0, async-http-client 1.29, Valkey tracing).
It also rounds up October updates - Android SDK preview, VS Code Swift extension 2.12.0, a new Build & Packaging workgroup, refreshed SPM docs, notable package releases, and Swift Evolution news (SE-0497 under review; SE-0495/SE-0496 accepted).
☃2
SwiftUI Tip
In iOS 26.0+, you can make buttons expand to fill the available width of their container using .buttonSizing(.flexible).
Perfect for onboarding flows and paywalls
source
In iOS 26.0+, you can make buttons expand to fill the available width of their container using .buttonSizing(.flexible).
Perfect for onboarding flows and paywalls
source
🍾4
Why 90% of SwiftUI Apps Get Dependency Injection Wrong
This article explains how to do dependency injection in SwiftUI - constructor injection, custom Environment values, and Environment objects - and when to use each.
It argues that most SwiftUI apps mishandle dependency injection and then shows how to do it right.
It walks through three complementary tactics:
- passing dependencies explicitly via initializers for clarity and easy testing,
- using custom Environment values for stateless services you want available across many views,
- and relying on Environment objects (stores) when you need shared, observable state.
The guidance is to inject broad services once at the app’s root, let container screens talk to those services or stores, and pass plain data down to child views. Used thoughtfully, this mix keeps code modular, testable, and scalable as the app grows.
This article explains how to do dependency injection in SwiftUI - constructor injection, custom Environment values, and Environment objects - and when to use each.
It argues that most SwiftUI apps mishandle dependency injection and then shows how to do it right.
It walks through three complementary tactics:
- passing dependencies explicitly via initializers for clarity and easy testing,
- using custom Environment values for stateless services you want available across many views,
- and relying on Environment objects (stores) when you need shared, observable state.
The guidance is to inject broad services once at the app’s root, let container screens talk to those services or stores, and pass plain data down to child views. Used thoughtfully, this mix keeps code modular, testable, and scalable as the app grows.
☃1🍾1🤪1
SwiftUI Tip
Label closures can include multiple views - like a title, subtitle, and details.
SwiftUI automatically styles them for you.
source
Label closures can include multiple views - like a title, subtitle, and details.
SwiftUI automatically styles them for you.
source
👻4🤪1
SwiftUI Tip
Did you know? You can create quick skeleton loading states using .redacted(reason: .placeholder).
source
Did you know? You can create quick skeleton loading states using .redacted(reason: .placeholder).
source
🍾3👻2☃1
How Duolingo used macros to promote mvvm architecture adoption
The post shows how an iOS team used Swift Macros to strip MVVM boilerplate - starting with DataSources - standardize code, and boost velocity.
It also describes a prebuilt-binary setup (load-plugin-executable) to avoid rebuilds and reports ~4.3k lines of generated code with fewer bugs.
Net effect: less code to write and review, faster iteration, and a cleaner path to refactors across the MVVM stack.
The post shows how an iOS team used Swift Macros to strip MVVM boilerplate - starting with DataSources - standardize code, and boost velocity.
It also describes a prebuilt-binary setup (load-plugin-executable) to avoid rebuilds and reports ~4.3k lines of generated code with fewer bugs.
Net effect: less code to write and review, faster iteration, and a cleaner path to refactors across the MVVM stack.
SwiftUI Tip
In iOS 17.0+, you can use .sensoryFeedback() to trigger haptic feedback directly in SwiftUI.
source
In iOS 17.0+, you can use .sensoryFeedback() to trigger haptic feedback directly in SwiftUI.
source
☃4
Big O notation
This post explains Big O - O(1), O(log n), O(n), O(n²) - with clear examples (sum, bubble sort, binary search) and visual demos of runtime growth.
It offers practical tips (use Sets/Maps, prefer index-based loops, caching), reminds you to benchmark, and focuses on algorithmic complexity - how an algorithm’s running time grows as input size increases.
Though the code is in JavaScript, the ideas apply to any language.
This post explains Big O - O(1), O(log n), O(n), O(n²) - with clear examples (sum, bubble sort, binary search) and visual demos of runtime growth.
It offers practical tips (use Sets/Maps, prefer index-based loops, caching), reminds you to benchmark, and focuses on algorithmic complexity - how an algorithm’s running time grows as input size increases.
Though the code is in JavaScript, the ideas apply to any language.
SwiftUI Tip
If a view doesn’t respond to taps as expected, use contentShape() to define its interactive area.
source
If a view doesn’t respond to taps as expected, use contentShape() to define its interactive area.
source
☃4