Learn how to let users respond to notifications without opening the app.| iOS development by tanaschita.com
Learn how to cancel async work in SwiftUI with automatic and manual approaches.| iOS development by tanaschita.com
According to 9TO5Mac's report, Apple is adding MCP (Model Context Protocol) support to its ecosystem to enable agentic AI capabilities. The implementation path closely aligns with our speculation in Weekly #077| Fatbobman's Blog
One year after the release of Swift 6.0, Swift 6 welcomes its second major version update. Beyond the much-anticipated Default Actor Isolation, Swift 6.2 brings numerous practical new features.| fatbobman.com
Swift 6.2 is great and a few qualify of life improvements to Xcode can make it better In a recent exchange with Matt on Mastodon, I realised it's been a while since I had a chance to write about Swift Concurrency. Swift 6.2 comes a long way to alleviate the rough edges of the initial release and now I find myself using it comfortably. I think the biggest friction at the moment, is awareness of what's going on in concurrency world while writing code. Think about it: what's going to happen here...| Konstantin's Blog Feed
Nearly ten years ago, Swift was open sourced and an official runtime for Linux was released. I’ve been involved with Swift on the server since almost the very beginning, originally picking it up as a way to use a language I really enjoyed for backend development. In that time Swift has come a long way, with stability across platforms, a burgeoning ecosystem and many success stories. It’s matured into a great option for highly-scalable server applications, websites, and lambdas. In this po...| Swift.org
Hallo allemaal, Leo hier. Today we will discuss a topic that is very common for iOS developers which is manipulating data which enums and common mistakes to avoid. When I’m hiring someone, I prioritize understanding the fundamentals over specialized knowledge. Questions about intricate coding problems or the exact steps in an app lifecycle are less […] The post Common Mistakes to Avoid When Using Enums in Swift appeared first on Holy Swift.| Holy Swift
こんにちは、西 @jrsaruo_tech です。 iOSDC Japan 2025 Day1 前半戦です! アンドパッドのブースでは本日も新しいクイズを出題しています。 Day0 Day1 午前 ← 本記事 Day1 午後 Day2 午前 Day2 午後 本記事ではDay1 午前に出題したクイズ4題を解説します。 それぞれの解答と解説はセクションを閉じているので、まだ解かれていない方はぜひチャレンジしてみてください。 ※ クイズで使...| ANDPAD Tech Blog
こんにちは、西 @jrsaruo_tech です。 iOSDC Japan 2025 Day1 後半戦です!Day0から数えればもう折り返しですね。 アンドパッドのブースでは引き続きクイズを出題しています。 Day0 Day1 午前 Day1 午後 ← 本記事 Day2 午前 Day2 午後 本記事ではDay1 午後に出題したクイズ4題を解説します。 それぞれの解答と解説はセクションを閉じているので、まだ解かれていない方はぜひチャレンジ...| ANDPAD Tech Blog
こんにちは、アンドパッドでiOSアプリ開発を担当している西 @jrsaruo_tech です。 今年もいよいよiOSDC Japan 2025が始まりましたね!私はDay2に初登壇を控えており気が気ではありません。 今年のアンドパッドブースではSwiftクイズを出題しています。以下の5回に分けてそれぞれ4題ずつ、合計20題のクイズを出題します。 Day0 ← 本記事 Day1 午前 Day1 午後 Day2 午前 Day2 午後 本記...| ANDPAD Tech Blog
Discover SwiftUI’s scenePhase environment and how to respond to app state changes.| iOS development by tanaschita.com
Learn about different ways to apply Apple's glass style.| iOS development by tanaschita.com
Tomorrow marks the official release of iOS 26, and a large number of users are likely to upgrade immediately to experience the brand-new Liquid Glass design language. Compared to previous years, this year’s adaptation workload is significantly heavier—especially for apps with complex interactions, which may face many unexpected issues.| Fatbobman's Blog
Google has announced that starting September 2026, it will extend Play Store developer verification requirements to all Android app installation methods, fundamentally altering the platform's open distribution model. This policy requires all developers distributing apps outside Google Play to register with Google, provide government-issued identification, and pay fees. The policy will first be implemented in Brazil, Indonesia, Singapore, and Thailand, before expanding globally in 2027. This r...| Fatbobman's Blog
While Swift has offered strict concurrency checking for some time, many of Apple's official APIs have yet to be fully adapted, and this situation may persist for quite a while. As Swift 6 gradually gains adoption, this problem becomes increasingly prominent: developers want to benefit from the concurrency safety guarantees provided by the Swift compiler, while struggling with how to make their code meet compilation requirements. This article will demonstrate the clever use of MainActor.assume...| Fatbobman's Blog
In the blink of an eye, this newsletter has reached its 100th issue. Looking back to the first issue in October 2023, I wasn't sure I could keep this going for so long. Yet over these two years, through consistent creation, I've gained so much.| fatbobman.com
We’re excited to announce Swift 6.2, a release aimed at making every Swift developer more productive, regardless of where or how you write code. From improved tooling and libraries to enhancements in concurrency and performance, Swift 6.2 delivers a broad set of features designed for real-world development at every layer of the software stack.| Swift.org
Experiment to create a Qt6 library with a familiar and safe Swift SDL My first encounter with Qt took place before I was even a developer. Way back in high-school (think 2003), I was discovering KDE 3 with a CD of Linux Mandrake that happened to be in one of the monthly PC Magazine editions. Konqi and I have been friends for a very long time. The KDE mascot Konqi holding a paint brush - KDE e.V.You've probably heard that Swift 6.2 comes with some extensive upgrades to its ability to interop w...| Konstantin's Blog Feed
日頃からPDFを扱っていると,「PDFのN-up処理(例えば2ページずつ並べて見開きにするなど)をしたい」というのはよく出くわす状況です。 以前,その目的に pdfTeX が大活躍することを紹介しました。 doratex.hatenablog.jp 最近もそういう話題がありました。 VivliostyleのDiscordで、「PDFの見開き」PDF出力の話題があった。えっと、LaTeXでその後処理をば…(本末転倒 #テフライブ...| TeX Alchemist Online
前記事の続編です。 doratex.hatenablog.jp 前記事では,写真に写る人物の顔部分に絵文字を貼り込むことでマスキングを行いました。本記事では,その応用として,顔部分にモザイクをかけるスクリプトを作ってみましょう。 前記事同様,次のような要件とします。 要件 macOS のデフォルト状態で動作する。ユーザに対して,事前に何らかのツールをインストールしておくな...| TeX Alchemist Online
SNS上に写真をアップするとき,個人情報保護のため,人物の顔に絵文字で上記のようなマスキング処理を施すことがよくあります。そこで,次の条件を満たすシェルスクリプトを作ることを目指します。 要件 macOS のデフォルト状態で動作する。ユーザに対して,事前に何らかのツールをインストールしておくなどの準備を要求しない。 コマンドラインから使えるシェ...| TeX Alchemist Online
アンドパッドの山根です。 2025年4月9日から11日までの3日間try! Swift Tokyo 2025が開催されました。弊社からiOSエンジニア3名が参加しました。この記事では、参加を経て感じたことや気になったセッションについてお話しします。 会場の雰囲気 今年の会場は立川駅のすぐ近くにある立川ステージガーデンでした。 セッションが行われていたホールは広く、椅子も柔らかくて...| ANDPAD Tech Blog
A Swift Computed Property allows you to define values based on other properties. You can optionally use async/await and throw errors.| SwiftLee
Quick tip on switching a self-developed Swift package from a versioned dependency to a local path for development.| iOS development by tanaschita.com
Learn how to use tasks to call async/await methods from synchronous code.| iOS development by tanaschita.com
A couple of months ago, I wrote: [...] It may become impossible to launch a new programming language. No corpus of training data in the coding AI assistant; new developers don't want to use it because their assistant can't offer help; no critical ...| Zarf Updates
Patton is 13 years old now. While he usually displays far more energy and vitality than other dogs his age, various health issues have inevitably emerged as he's gotten older. Recently, Patton was diagnosed with pulmonary hypertension, and the vet prescribed a targeted treatment plan. Just as I was feeling relieved that the treatment seemed to be working, last Monday afternoon, Patton suddenly couldn't stand, was drooling excessively, and showed clear signs of cardiac distress.| fatbobman.com
The swift test command-line invokation does not print unambiguous filenames for test failures, so we need to attempt to patch this from the console output ourselves like true hackers.| Christian Tietze
I finally finished my new book on building scalable and maintainable apps with Swift and SwiftUI.| iOS development by tanaschita.com
Learn how to abstract and reuse a SwiftUI toolbar across multiple screens.| iOS development by tanaschita.com
Learn to make Swift code only available for certain language versions or platforms.| iOS development by tanaschita.com
yoshiori.hatenablog.com この記事を以前に読んでいてずっと記憶に残っていた。最近になって子どもたちが夏休みに入り家にいる時間が増えたこともあり、必要に迫られて実際に真似してみることにした。 MTG中に妻や子どもたちが部屋に乱入する事故が起こるので yoshioriさんの真似してみることにした。まずは設置まで[image or embed]— すぎゃーん (@sugyan.com) July 25, 2025 at 11:48 AM ...| すぎゃーんメモ
Ever wanted to layout letters? implement label view? create text edit component from the ground? bear with me. CoreText is low-level framework for laying out text and handling fonts. Low level like "C language level low", but also like "Font glyph level low". What CoreText can:| Marcin Krzyżanowski
Design a project that uses different versions of swift for different parts of the project. Combine multiple toolchains together and use it.| Marcin Krzyżanowski
You use Swift AnyObject wrong. Don't use AnyObject as a generics constraint. Don't do "is AnyObject", "as? AnyObject" to check if a variable is a class type. Don't use "AnyObject". Use "class" for a class-only protocol. Use "Any".| Marcin Krzyżanowski
Last week I had my last appearance with talk about Swift runtime performance. I enjoy the topic, and I had a ton of fun with preparing the speech, with the on-stage experience and afterward discussions. Since I'm done with this talk, I'd like to make a| Marcin Krzyżanowski
I started my Apple platforms development journey a year before Grand Central Dispatch was released with iOS 4. I’ve lived through codebase migrations to NSOperation. Then through the slew of FRP frameworks (of which I consider a concurrency solution): ReactiveCocoa, ReactiveSwift, RxSwift, and finally Combine. My strategy for learning all these paradigms was best described as osmosis while encountering and solving real problems in codebases. Of course, you have to spend time setting breakpo...| twocentstudios
Swift's concurrency model introduces numerous keywords, some of which are similar in naming and purpose, often causing confusion among developers. This article examines several keywords related to cross-isolation domain passing in Swift concurrency: Sendable, @unchecked Sendable, @Sendable, sending, and nonsending, helping you understand their respective roles and use cases.| Fatbobman's Blog
Swift 6.2’s Default Actor Isolation reduces boilerplate by inferring isolation for unmarked code, but brings new actor-boundary rules and macro challenges| fatbobman.com
There are cases where just a little more visibility and control over how to schedule asynchronous work can make all the difference.| NSHipster
Sometimes you just need to shove a round peg into a square hole. Sometimes that genuinely is the best option (or perhaps more accurately: the least bad option). I find my hand is often forced by APIs I don’t control (most often Apple’s APIs). e.g. data source or delegate callbacks that are synchronous and require… Read more| Wade Tregaskis
Five years ago installing Swift on a Raspberry Pi – or really any non-Apple platform – was fairly involved. Compared to getting a Raspberry Pi working to begin with it was easy, but still a far cry from apt install swift. Sadly it’s still not quite that easy (and some Python package is squatting on… Read more| Wade Tregaskis
I have a bit of a love-hate relationship with Swift’s FormatStyle-based formatting capabilities. 42% (in English – results may vary depending on locale) On the pro side: But the cons are rough: All in all, there’s a reason fuckingformatstyle.com exists (and don’t forget to tip!).| Wade Tregaskis
The following code prints the Fibonacci sequence. You’ve probably seen it before. It’s one of the simplest and most well-known examples of a sliding window operation – where the next value depends on the preceding two (or more) values. While almost all programs do not calculate the Fibonacci sequence, many do contain similar sliding-window algorithms.… Read more| Wade Tregaskis
Learn how to use defer to handle cleanup logic in async functions.| iOS development by tanaschita.com
Compared to some open-source frameworks, Core Data and SwiftData, despite having Apple's official endorsement, often leave developers helpless when exceptions occur due to their "black box" nature, making it difficult to quickly locate problems and find effective solutions. This article documents an app startup timeout incident caused by Core Data model migration, shares the solution, and deeply analyzes the underlying causes.| Fatbobman's Blog
Last week I went to the theater to watch *F1*, Apple’s latest original movie—and the experience far exceeded my expectations. While the storyline was admittedly a bit thin, the sheer sense of immersion and racing excitement it delivered easily justified the ticket price. When Brad Pitt’s APXGP car thundered down Silverstone Circuit, the roar of the engine shaking the IMAX sound system transported me back to those days, over 20 years ago, when I’d sit glued to the TV cheering on the fi...| fatbobman.com
I'm excited to share a new actor system we've been building for Swift's distributed actors: swift-erlang-actor-system. This actor system enables Swift programs to join a distributed Erlang cluster. Here's an example of a simple chat program using the actor system: Demo Video Erlang (and other languages that run on its VM) can connect multiple runtime systems together with distributed Erlang. Each runtime is referred to as a "node". Erlang also supports "C nodes", which allow a program other ...| Swift Forums
Following the release of the new Liquid Glass style, Apple promptly introduced Icon Composer, a tool for creating icons that comply with the Liquid Glass standard. According to Apple's introduction, Icon Composer appears straightforward to use. It essentially requires users to place images in layers, and that's it. However, in practice, several details require careful attention. Megabits'll use his app as an example to briefly describe the issues I encountered during the process.| Fatbobman's Blog
After installing iOS 26 beta 3, users quickly noticed that the Liquid Glass effect is no longer as translucent as in the previous two beta releases. This change has sparked two opposing perspectives: some see it as a sign that Apple’s flagship design concept from WWDC 2025 is facing challenges, while others view it as evidence of Apple’s responsiveness to user experience data and its ability to iterate quickly. Either way, such a significant UI adjustment within a short time underscores t...| fatbobman.com
Setup Manager 1.3 We have released Setup Manager 1.3 today. You can see the release notes and download the pkg installer here. Most of the changes to Setup Manager in the update do not change the w…| Scripting OS X
Text is heavily used in SwiftUI. Compared to its counterparts in UIKit/AppKit, Text requires no configuration and works out of the box, but this also means developers lose more control over it. In this article, I will demonstrate through a real-world case study how to accomplish seemingly impossible tasks with SwiftUI's approach - finding the first view among a given set where text is not truncated, and using it as the required size.| Fatbobman's Blog
A month-long journey with Claude Code reveals how AI reshapes coding, and why developers should stay actively involved to truly grow and avoid over-reliance.| fatbobman.com
SWIFT is now working on protecting payments data, but it’s hard to prepare for a risk banks can’t see.| Digital Finance
SWIFT MT (Message Type) messages are standardized financial messages used by financial institutions worldwide for secure communication and transaction processing. They follow a structured format, categorized by a three-digit code (e.g., MT103, MT202) that indicates the message type and its purpose within the financial transaction lifecycle. A generation of young wire room staff started their […]| Perficient Blogs
I am learning to speak a new language: Swift Concurrency. It is densely packed with familiar-sounding concepts and details I am not aware of (yet). This is how I tackle it.| Christian Tietze
Discover Swift 6.2’s new concurrency-safe NotificationCenter.Message APIs to ensure type safety, eliminate runtime errors, and streamline notification handling.| fatbobman.com
Discover how SwiftUI's ZStack uses layoutPriority to compute size, allowing dynamic container resizing by toggling view importance—no ifs, no switches.| fatbobman.com
WWDC 2025 arrived right on schedule. Apple released all session videos at once, allowing developers to dive into the new features and APIs they care about without delay. After skimming through them over the past two days, my initial takeaway for this year’s conference is: as expected, yet unexpected.| Fatbobman's Blog
Enable prebuilt SwiftSyntax in Swift 6.1.1+ to speed up macro builds by avoiding source compilation—works with Xcode and command-line builds| Fatbobman's Blog
Notepad.exe is a native macOS Swift editor for fast, lightweight coding. Run @main projects, use per-file Toolchains, and test SPM libraries effortlessly| fatbobman.com
Swift 5.9 adds the package access modifier to limit API visibility to within the same package, improving modularity and encapsulation without using public| Fatbobman's Blog
Master Swift’s Measurement API for safe unit conversion, precise formatting, and custom unit support—perfect for building internationalized, user-friendly iOS apps| fatbobman.com
Fix SwiftLint not working in Swift monorepos by setting config search paths in VSCode and specifying included directories in .swiftlint.yml| Fatbobman's Blog
Learn how to test Core Data in VSCode or Cursor by configuring the Xcode toolchain and manually converting xcdatamodeld to momd with xcrun momc.| fatbobman.com
Explore the new @concurrent attribute in Swift 6.2 and its role in Swift Concurrency for better asynchronous function handling.| SwiftLee
Apple has introduced VM-based Containerization at its WWDC (Worldwide Developer Conference), along with Container – an open-source CLI […]| DEVCLASS
Learn how to add toolbar items in SwiftUI views across various placements like navigation bars, bottom bars and more.| iOS development by tanaschita.com
ExtensionKit was a pretty significant new feature, introduced three years ago with macOS Ventura. But, I wouldn’t be surprised if you’ve never even heard of it, as it had a strangely quiet introduction. There were no sessions or labs about it during WWDC 2022. I only discovered it because a friend stumbled across the beta documentation and sent it to me.| massicotte.org
【追記】この記事を macOS 12.3 以降の環境に対応させた記事を書きました。 doratex.hatenablog.jp id:acetaminophen さんが,Windows環境でPDFのページ数をカウントするバッチファイルを,様々な手法で実装する試みをなされています。 d.hatena.ne.jp d.hatena.ne.jp そこで,Mac環境についても,コマンドラインからPDFのページ数をカウントする様々な手法をまとめておこうと思います。 目次 ...| TeX Alchemist Online
LianLian's Hong Kong hub is activating cross-border partnerships and exploring use of stablecoins.| Digital Finance
A dictionary of all common Swift programming terms, all on one page for easy access.| Hacking with Swift
Over the past few months, the website workgroup has been redesigning Swift.org. On behalf of the website workgroup, I’m pleased to announce that we have merged the initial changes.| Swift.org
Work with the grain of the framework by writing your own property wrappers.| Shadowfacts
A cross-platform declarative UI framework, inspired by SwiftUI. - stackotter/swift-cross-ui| GitHub
Swift is heavily used in production for building cloud services at Apple, with incredible results. Last year, the Password Monitoring service was rewritten in Swift, handling multiple billions of requests per day from devices all over the world. In comparison with the previous Java service, the updated backend delivers a 40% increase in performance, along with improved scalability, security, and availability.| Swift.org
Swift error messages can be cryptic, but as a community, we can make them clearer. Help others (and your future self) by contributing better explanations.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Understand how SwiftUI's ViewThatFits container works.| iOS development by tanaschita.com
Learn how to schedule local notifications using different trigger types with the UserNotifications framework.| iOS development by tanaschita.com
In 2025, playing your own music on an iPhone is surprisingly hard, unless you pay Apple or navigate a maze of limitations. So I built my own player from scratch, with full text search, iCloud support, and a local-first experience. GitHub link Why I Built My Own Audio Player Like many people, I’ve picked up too many subscriptions, some through Apple (iCloud, Apple Music), others got lost in random platforms (like Netflix, which I forgot I was still paying for). I actually used Apple Music re...| nexo blog
Use focused values for conveying information up the view hierarchy based on the currently-focused view.| Shadowfacts
Tired of vague bug reports like "it doesn't work"? In this post, you'll learn how to collect automatic logs and track real-world errors in your Swift apps—with just a few lines of code.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Discover how to turn Typed Throws from a headache into a superpower — with clean error handling and powerful debugging insights.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Learn how to manage different iOS build environments with .xcconfig files.| iOS development by tanaschita.com
Learn how to add and configure debug, staging, and release environments in your iOS app using Xcode.| iOS development by tanaschita.com
Learn the foundational concepts of Xcode build configuration and how targets, schemes, and configurations work together.| iOS development by tanaschita.com
Learn how to use the Adapter pattern to integrate third-party APIs or legacy code.| iOS development by tanaschita.com
Exploring parameter packs (the repeat-each stuff) in Swift to count how many types are in the generic argument clause, or if that’s empty.| Christian Tietze
A quick recipe on how to emit a binary from Swift that you can use from a C program.| Christian Tietze
When SwiftUI was announced in 2019 (oh boy, more than 5 years ago), one of the big things that the Apple engineers emphasized was that a SwiftUI View is not like a UIKit/AppKit view. As Apple was at pains to note, SwiftUI may evaluate the body property of a View arbitrarily often. It’s easy to miss an important consequence this has, though: your View will also be initialized arbitrarily often. This is why SwiftUI views are supposed to be structs which are simple value types and can be stack...| Shadowfacts
Last time, I wrote about how to parse HTML and convert it to NSAttributedStrings quickly. Unfortunately, in the time since then, it’s gotten slower. It’s still a good deal faster than it was before all that work, mind you. At fault is not any of the optimizations I discussed last time, fortunately. Rather, to get the correct behavior across a whole slew of edge cases, there was more work that needed to be done.| Shadowfacts
The urge to overengineer something recently befell me, and the target of that urge was the way Tusker handles HTML parsing. Mastodon provides the content of posts (and profile descriptions, and some other things) as HTML, which means that, in order to display them properly, you need to parse the HTML, a notoriously straightforward and easy task. For a long time, the approach I took was to use SwiftSoup to parse the HTML and then walk the resulting node tree to build up a big NSAttributedStrin...| Shadowfacts
Swift 6.2 will introduce several changes to Swift Concurrency that will make writing asynchronous code more approachble.| SwiftLee
Tired of cryptic Swift error messages like '(YourError error 0)'? Here's how to fix them for good—with clarity and elegance.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Learn how to save and restore NavigationPath to maintain user context across app launches.| iOS development by tanaschita.com
Learn how to integrate NavigationPath with TabView in SwiftUI to manage independent navigation flows.| iOS development by tanaschita.com
Preferences are a powerful, and underappreciated, tool for data flow in SwiftUI.| Shadowfacts
Swift 6.1 now supports official WebAssembly builds via SwiftWasm—no patches needed. Use JavaScriptKit for seamless Swift–JavaScript interaction in WASM apps.| fatbobman.com