Those Who Swift - Issue 255
Weekly note ✏️How safe is our data in the era of AI? 🤖 Recent events suggest we should be asking this question more often. Some agents and home-built automation systems are no longer just misinterpreting instructions — in certain cases they actively bypass them. Safeguards written into prompts or policy files are not always respected, and there have already been incidents where agents handled sensitive information, such as email data, in ways their creators never intended. Many of us now maintain CLAUDE.md, CODEX.md, CURSOR.md, or AGENTS.md files, carefully defining rules and boundaries. We assume the model will stay inside those limits. Unfortunately, that assumption is fragile. Placing API keys, credentials, or internal configuration files anywhere accessible to an LLM (even if the repository itself is private or files in .gitignore) increases the risk surface. The danger isn’t only the tool you’re actively using. Models can be observed, logged, cached, or indirectly exposed. There is also a broader issue. Some companies train their own systems through model distillation, using outputs from other AI services. Reports have already identified thousands of automated bots collecting responses from major models to build competing datasets. Providers are trying to track and block these violations, but the existence of such activity shows how easily information can propagate once exposed. For now, the safest approach is still the traditional one: never place secrets in repositories, agent configuration files, prompts, or third-party integrations. Treat any system that can read your project as if it might eventually leak it. AI tools are powerful, but security practices must remain stronger than convenience. Connect with the "Those Who Swift" team - Justas Markus & Anton Gubarenko 👋 Swift Around the Web 🌐Why Your @Observable Class init Runs Multiple Times in SwiftUI?Artem Mirzabekian article explains why SwiftUI may recreate Swift System Metrics 1.0 ReleasedSwift System Metrics 1.0 introduces a stable package for collecting process-level metrics like CPU time, memory usage, and file descriptors across macOS and Linux. It integrates with Swift Metrics backends (e.g., Prometheus or OpenTelemetry) to help developers monitor performance, detect issues, and improve reliability in Swift services. Testing Event StreamsMatt Massicotte explains how to reliably test asynchronous event streams by controlling timing, expectations, and emitted values. The approach helps validate concurrency code and prevents flaky tests when working with async sequences and notifications. Coding 👨💻Testing Database MigrationsNatascha Fadeeva explains how to reliably test database migrations by seeding old schema versions, running migrations, and verifying data integrity. The guide helps prevent crashes and data loss when your app updates its persistence model. Static vs Dynamic Dispatch in SwiftSagar Unagar explains the difference between static and dynamic dispatch in Swift, showing how the compiler chooses which implementation to call and how protocols, extensions, and classes affect performance. The article clarifies why static dispatch is faster and how understanding dispatch rules helps avoid subtle bugs and unexpected behavior. Apple 🍏Age Requirements for Apps in Multiple RegionsApple is introducing stricter age-verification rules: users in Australia, Brazil, and Singapore won’t be able to download 18+ apps unless confirmed as adults, with the App Store handling verification. Developers can use the Declared Age Range API and related tools to meet regional compliance and child-safety regulations. Other cool stuff 🧰Claude Code Brought My App Back From the DeadChris Wu shares how he revived his long-abandoned app after its museum API was deprecated by using an AI coding agent to migrate to a completely different API. The AI explored documentation, rewrote large portions of code, debugged issues, and restored functionality in hours instead of weeks: highlighting how developers are shifting from writing every line to supervising and validating AI-driven changes. The 4-Step Process to Create SwiftUI AnimationsThis tutorial introduces core SwiftUI animation concepts, showing how implicit and explicit animations work and how to apply them to state changes. Omar Elsayed shows a practical examples, to demonstrate creation of smooth transitions and interactive UI effects using SwiftUI’s built-in animation APIs. AI 🤖Gemini 3.1 Pro: A Smarter Model for Complex TasksGoogle introduced Gemini 3.1 Pro, an upgraded AI model focused on advanced reasoning and complex problem-solving. Available via the Gemini API, Android Studio, and Vertex AI, it improves logic benchmarks and supports use cases like data synthesis, interactive design, and creative coding workflows. AI Job Loss Isn’t the Scariest PartDewan Ahmed argues the bigger shift from AI isn’t unemployment but the erosion of expertise and decision-making ownership. As tools automate more work, the real challenge becomes preserving critical thinking, responsibility, and meaningful skill in an AI-assisted world. Tutorials 📒Creating Maps in SwiftUI Apps With MapKitThis tutorial introduces MapKit’s SwiftUI APIs, showing how to embed a Map view, manage regions and annotations, and react to user location. It demonstrates building interactive maps with markers and camera control to integrate real-world context directly into your app’s UI. Video 🎥Swift Autoclosures - From First Principles to Smarter SwiftUI ValidationThis video from Stewart Lynch explains how Swift’s How to build apps with AI: Xcode, Claude, Codex, and more!This awesome livestream by Paul Hudson explores how to develop apps using modern AI tools, from Xcode integrations to CLI assistants like Claude and Codex. It also covers agent files, skills, and complementary tools such as ChatGPT to enhance productivity and workflows. Thanks for reading Those Who Swift! Subscribe for free to receive new posts. |