Swift quietly just broke out of Xcode. This week: Swift now runs in Cursor, VSCodium, and other AI-first IDEs Xcode 26.4 shipped with a painful simulator paste bug (there’s a workaround) Apple’s April 28 SDK deadline is closer than most teams think A full Swift-native game engine just dropped The bigger deal though 👇 Swift is not “just iOS.” It’s becoming a general-purpose language across: AI tooling, backend, games, even embedded systems. Feels similar to when TypeScript escaped the frontend. If you’re still thinking “Swift = Xcode,” you’re already behind. Full breakdown in the latest issue ↓
iOS Code Review - newsletter for iOS developers
Technology, Information and Internet
Bi-weekly newsletter amplifying code improvement tips from the Apple developer community
About us
iOS Code Review is a bi-weekly newsletter amplifying code improvement tips from the Apple developer community. You'll learn about Swift, Objective-C, iOS, macOS, SwiftUI, UIKit and more. Curated by Marina Vatmakhter and published every other Thursday. Visit https://ioscodereview.com to subscribe to the email newsletter or see older issues. You can find even more tips on Twitter at https://twitter.com/ios_code_review 🙌
- Website
-
https://ioscodereview.com
External link for iOS Code Review - newsletter for iOS developers
- Industry
- Technology, Information and Internet
- Company size
- 1 employee
- Type
- Privately Held
- Founded
- 2021
Employees at iOS Code Review - newsletter for iOS developers
Updates
-
Issue #76 is out !!! Swift 6.3 just dropped and it's a big one. 🚀 Android support. Yes really, you can now write native Android apps in Swift and share business logic across iOS and Android without a rewrite. A few other highlights worth your attention: Swift Testing keeps evolving with warning-level issues, test cancellation, and image attachments for visual verification. The new @c attribute finally makes C interoperability a first-class citizen with compile-time signature validation. Xcode 26.3's agentic coding (with Claude and Codex built in) is genuinely worth trying if you haven't yet. And don't sleep on the April 28 deadline — apps uploaded to App Store Connect must be built with the iOS 26 SDK or later starting then. It's a genuinely exciting time to be in the Swift ecosystem. Read the full edition here 👇 https://lnkd.in/gHfpxbbK
-
Swift 6.3 is out! Highlights: official Android SDK, @c attribute for C interop, Swift Build preview in SPM, and Swift Testing improvements including image attachments & test cancellation. Cross-platform Swift is becoming very real! https://lnkd.in/g7GGvB83
-
📢 iOS Code Review is now open for sponsorships! If you have a dev tool, iOS/Mac app, or product you want in front of working iOS engineers, this is your spot. Our readers are mid–senior iOS devs, actively shipping apps and evaluating tools for their teams! Spots are limited, get in touch soon 👇 📧 ioscodereviews@gmail.com 🔗 https://lnkd.in/gcZNtsvj
-
After a bit of a break, the iOS Code Review newsletter is finally back, and we're kicking things off with a packed edition 🚀 Issue #75 (https://lnkd.in/gJQsE49y) is live and it's a catch-up pack covering some of the most important iOS updates from the last few months: 🤖 Foundation Models & Tool Calling: building agentic features on-device ⚡ Swift 6.2 Default Actor Isolation: finally, less @MainActor noise 🧪 Exit Testing in Swift Testing: new ways to verify your guards 📅 App Store SDK deadline: April 28 is closer than you think 🔧 Swift System Metrics 1.0 & more If you're an iOS dev and you're not already subscribed, now's a great time to jump in! Would love feedback, topic suggestions, or just a hello 👋 https://lnkd.in/gJQsE49y
-
iOS Code Review - newsletter for iOS developers reposted this
iOS 18+ .containerBackground() Easy one-liner modifier, set the background for a view without having to deal with ZStack, ignoreSafeArea, or any of that. This is something even AI isn’t aware of… Could save you a few lines of code. :) #iOS
-
iOS Code Review - newsletter for iOS developers reposted this
💡 SwiftUI Tip: In iOS 18.0+, you can now attach actions directly to your List sections using the .sectionActions() modifier. 🧩 1. Adds Interactive Controls – Easily place buttons like Add, Edit, or Delete within a section. 🚀 2. Keeps UI Organized – Actions stay visually connected to their respective sections for better context. ⚙️ 3. Great for Dynamic Lists – Perfect for checklists, task managers, or note apps where sections evolve. #SwiftUI #iOSDevelopment #SwiftTips #LearnWithAnto
-
-
iOS Code Review - newsletter for iOS developers reposted this
If you work with SwiftUI, I strongly recommend this talk 👇🏻 https://lnkd.in/gxRtdMEG
-
-
iOS Code Review - newsletter for iOS developers reposted this
🎯 Swift 6.2: weak let — Immutable Weak References Finally Arrive Swift 6.2 introduces weak let, allowing you to declare immutable weak references that can never be reassigned. Before this, weak references required var even if you never intended to change them — now you can express your intent clearly with let. ✅ Use weak let when: • You need a weak reference that should never be reassigned • Breaking retain cycles with delegates, closures, or parent references • You want to make your code's intent clearer and safer ⛔️ Still use weak var when: • The reference itself needs to be reassigned later • You need to set the reference to nil manually 💡 Tip: Prefer weak let over weak var by default — it's safer, clearer, and prevents accidental reassignment! #Swift #Swift6 #iOSDevelopment #SwiftProgramming #MemoryManagement #CleanCode #iOsDev
-
-
iOS Code Review - newsletter for iOS developers reposted this
“This date doesn’t exist.” And it was right. I was recently asked in an interview about a memorable bug I had encountered. One particular incident came to mind — not critical, but definitely insightful. At one point, our app started rejecting what looked like a completely valid date of birth: April 1, 1981. The validator kept saying: “This date doesn’t exist.” And strangely enough… it was correct. What happened? That night, the clocks had moved forward by one hour due to daylight saving time. As a result, April 1, 1981 at 00:00 technically never happened — the day began at 01:00. But in Swift, DateFormatter defaults to 00:00 if no time is provided. So the input string — though seemingly fine — translated into a non-existent point in time. The fix was simple: setting isLenient = true, which allows DateFormatter to gracefully handle such edge cases. The takeaway? Even the weirdest bugs often come down to tiny implementation details. You just need to know where to look.
-