# Xcode

Xcode is a development environment for building, testing, debugging, and distributing apps for Apple platforms.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Developing Apps for the iPhone Duo: Best Practices and Upcoming iOS 27.1 APIs

DevFeed: [Developing Apps for the iPhone Duo: Best Practices and Upcoming iOS 27.1 APIs](<https://devfeed.tech/articles/seeing-double-with-the-iphone-duo-free-41386.md>)

Original publisher: [Read original article](<https://www.kodeco.com/54224360-seeing-double-with-the-iphone-duo>)

Author: hococoder

Published: 2026-09-17T15:00:52Z

Content type: tutorial

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

Topics: [iphone](<https://devfeed.tech/topics/iphone.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [API](<https://devfeed.tech/topics/api.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apple](<https://devfeed.tech/tags/apple.md>), [apps](<https://devfeed.tech/tags/apps.md>), [article](<https://devfeed.tech/tags/article.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [developing](<https://devfeed.tech/tags/developing.md>), [features](<https://devfeed.tech/tags/features.md>), [free](<https://devfeed.tech/tags/free.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>)

### AI overview

This article discusses best practices for preparing apps for the iPhone Duo and previews API changes planned for iOS 27.1. It highlights size classes, screen changes, and other hardware and interface considerations while noting that Xcode does not yet support the device.

### Source excerpt

Learn about best practices for developing for the iPhone Duo, and get a sneak peek at the upcoming API changes in iOS 27.1, specifically for the Duo!

## Automating App Store Screenshots

DevFeed: [Automating App Store Screenshots](<https://devfeed.tech/articles/automating-app-store-screenshots-27367.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/automating-app-store-screenshots.htm>)

Author: Khan Academy

Published: 2017-03-27T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [ui-testing](<https://devfeed.tech/topics/ui-testing.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Sketch](<https://devfeed.tech/topics/sketch.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [app-store](<https://devfeed.tech/tags/app-store.md>), [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [fastlane](<https://devfeed.tech/tags/fastlane.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial describing how Khan Academy automated App Store and Play Store screenshots with Xcode UI tests, Fastlane, a Snapfile, and a homegrown Sketch file. The team reduced screenshot update time from about a week to about an hour.

### Source excerpt

By Bryan Clark One of the more tedious design tasks is keeping your App Store promo images up-to-date. ... Read more

## Introducing SwiftTweaks

DevFeed: [Introducing SwiftTweaks](<https://devfeed.tech/articles/introducing-swifttweaks-27384.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/introducing-swifttweaks.htm>)

Author: Khan Academy

Published: 2016-05-09T22:00:00Z

Content type: release

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [feature](<https://devfeed.tech/tags/feature.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [interface](<https://devfeed.tech/tags/interface.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Khan Academy introduces SwiftTweaks, a Swift library for adjusting parameters in iOS apps on a device without recompiling. The article explains how to create tweak libraries, use tweak values and bindings, adjust animation settings, and access the runtime interface.

### Source excerpt

By Bryan Clark Today, we're releasing SwiftTweaks, a way to adjust your Swift-based iOS app without needing to ... Read more

## Moving from XCTest to Swift Testing \[FREE\]

DevFeed: [Moving from XCTest to Swift Testing \[FREE\]](<https://devfeed.tech/articles/moving-from-xctest-to-swift-testing-free-11509.md>)

Original publisher: [Read original article](<https://www.kodeco.com/53560697-moving-from-xctest-to-swift-testing>)

Author: renan.dias

Published: 2026-09-11T18:41:42Z

Content type: tutorial

Language: en

Sources: [Kodeco | High quality programming tutorials: iOS, Android, Swift, Kotlin, Unity, and more](<https://devfeed.tech/sources/kodeco-high-quality-programming-tutorials-ios-android-swift-kotlin-unity-and-more.md>)

Topics: [Swift Testing](<https://devfeed.tech/topics/swift-testing.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [agentic-coding](<https://devfeed.tech/topics/agentic-coding.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [app](<https://devfeed.tech/tags/app.md>), [apple](<https://devfeed.tech/tags/apple.md>), [article](<https://devfeed.tech/tags/article.md>), [free](<https://devfeed.tech/tags/free.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [swift-testing](<https://devfeed.tech/tags/swift-testing.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [testing](<https://devfeed.tech/tags/testing.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial on migrating unit tests from Apple's XCTest framework to Swift Testing. It explains common testing scenarios, Swift Testing's newer syntax and constructs, and how Xcode's Agentic Coding can assist with the migration while working on a SwiftUI coffee-ordering app.

### Source excerpt

Swift Testing is Apple's replacement for the objective-C XCTest unit testing framework. Discover how to migrate your existing XCTest suites over to Swift Testing, including how to get some assistance from Xcode's agentic AI tooling.

## A Mac App, Not an iOS App on a Mac

DevFeed: [A Mac App, Not an iOS App on a Mac](<https://devfeed.tech/articles/a-mac-app-not-an-ios-app-on-a-mac-19388.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/native-appkit-mac-port/>)

Author: Shai Almog

Published: 2026-09-06T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [ios](<https://devfeed.tech/tags/ios.md>), [mac](<https://devfeed.tech/tags/mac.md>), [macos](<https://devfeed.tech/tags/macos.md>), [release](<https://devfeed.tech/tags/release.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Codename One's macOS build now targets AppKit directly instead of using Mac Catalyst to run an iPad application. The change provides native window handling, rendering, desktop operations, input-method support, and independent monitor scaling while preserving existing project APIs and build targets.

### Source excerpt

Codename One's macOS build now targets AppKit directly, with NSWindow, NSMenu, NSTextInputClient, NSScreen, and an independent Metal surface for every window.

## Swift Testing explained with code examples

DevFeed: [Swift Testing explained with code examples](<https://devfeed.tech/articles/swift-testing-explained-with-code-examples-11484.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/swift-testing/modern-unit-test/>)

Author: Antoine van der Lee

Published: 2026-08-17T08:51:15Z

Content type: tutorial

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [examples](<https://devfeed.tech/tags/examples.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-testing](<https://devfeed.tech/tags/swift-testing.md>), [testing](<https://devfeed.tech/tags/testing.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial introduces Swift Testing, the modern Swift testing framework built around expressive macros such as @Test, #expect, and #require. It explains how Swift Testing replaces XCTest, reduces repetitive boilerplate, defines tests globally, and organizes them with structs, traits, and tags.

### Source excerpt

Swift Testing is the modern framework for writing tests in Swift, built around expressive macros like @Test, #expect, and #require. It's the successor to XCTest and the default testing framework for new projects in Xcode. Instead of dozens of assertion methods, you work with a single expressive macro that tells you exactly why a test ... -> The post Swift Testing explained with code examples appeared first on SwiftLee.

## Announcement: Xcode16 Deprecation in Semaphore

DevFeed: [Announcement: Xcode16 Deprecation in Semaphore](<https://devfeed.tech/articles/announcement-xcode16-deprecation-in-semaphore-20414.md>)

Original publisher: [Read original article](<https://semaphore.io/blog/announcement-xcode16-deprecation-in-semaphore>)

Author: Pete Miloravac

Published: 2026-08-04T13:47:48Z

Content type: release

Language: en

Sources: [Semaphore Engineering](<https://devfeed.tech/sources/semaphore-engineering.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [ci](<https://devfeed.tech/tags/ci.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [macos](<https://devfeed.tech/tags/macos.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [product-news](<https://devfeed.tech/tags/product-news.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

Semaphore is deprecating and retiring its macOS Xcode16 build environments. Brownout periods will run from September 7 through October 4, 2026, before the environments are removed on October 5, 2026. Users are instructed to migrate pipelines to macos-xcode26 and validate them.

### Source excerpt

MacOS Xcode16 reached the end of its supported lifecycle on Semaphore. To ensure the security, reliability, and maintainability of our platform, we are announcing the deprecation and end of life of MacOS Xcode16 build environments. Semaphore users should switch to Xcode26. Why We're Deprecating Xcode16 As operating systems age, they cease to receive timely security [...] The post Announcement: Xcode16 Deprecation in Semaphore appeared first on Semaphore.

## How to free up Xcode disk space safely with an AI Agent

DevFeed: [How to free up Xcode disk space safely with an AI Agent](<https://devfeed.tech/articles/how-to-free-up-xcode-disk-space-safely-with-an-ai-agent-11481.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/ai-development/how-to-free-up-xcode-disk-space-safely-with-an-ai-agent/>)

Author: Antoine van der Lee

Published: 2026-07-27T08:34:16Z

Content type: tutorial

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Agent Skill](<https://devfeed.tech/topics/agent-skill.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [agent-skill](<https://devfeed.tech/tags/agent-skill.md>), [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-development](<https://devfeed.tech/tags/ai-development.md>), [derived-data](<https://devfeed.tech/tags/derived-data.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [disk-space](<https://devfeed.tech/tags/disk-space.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains why Xcode can consume substantial disk space, especially when multiple AI agents use separate Git worktrees. It introduces an open-source Xcode Disk Cleanup Agent Skill that searches common storage locations and requires explicit approval before deleting anything.

### Source excerpt

Xcode disk space can grow rapidly without you noticing. Especially these days, with multiple agents turning multiple worktrees into silent disk space occupiers. Where I used to only focus on deleting old Simulators every now and then, I'm now also actively managing worktrees and derived data folders. There are great Mac apps and open-source projects ... -> The post How to free up Xcode disk space safely with an AI Agent appeared first on SwiftLee.

## How to Test iOS Apps in Different Time Zones on a Physical iPhone

DevFeed: [How to Test iOS Apps in Different Time Zones on a Physical iPhone](<https://devfeed.tech/articles/how-to-test-ios-apps-in-different-time-zones-on-a-physical-iphone-11490.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/xcode/ios-time-zone-testing-physical-iphone/>)

Author: Antoine van der Lee

Published: 2026-07-20T12:27:42Z

Content type: tutorial

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [testing](<https://devfeed.tech/tags/testing.md>), [usb](<https://devfeed.tech/tags/usb.md>), [validation](<https://devfeed.tech/tags/validation.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains how to test iOS apps across time zones on a physical iPhone or iPad using RocketSim, Xcode 27, and a USB connection. Simulating a location lets iOS update the device's system time zone, enabling validation of behaviors such as local time changes, focus modes, and driving mode. The workflow requires specific device settings, Developer Mode, and an app launched from Xcode; Xcode 27 is identified as being in beta in the supplied text.

### Source excerpt

Testing iOS Time Zones is a typical validation path that's difficult without actually traveling yourself. You can apply all kinds of protocols and mock versions of your app, but having iOS act like it's actually traveling between time zones is a real challenge. Ideally, you'd test apps like travel apps in such a way that ... -> The post How to Test iOS Apps in Different Time Zones on a Physical iPhone appeared first on SwiftLee.

## User Diagnostics Reports: Solving app bugs faster with AI Agents

DevFeed: [User Diagnostics Reports: Solving app bugs faster with AI Agents](<https://devfeed.tech/articles/user-diagnostics-reports-solving-app-bugs-faster-with-ai-agents-11483.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/debugging/introducing-diagnostics-improved-debugging-and-user-support/>)

Author: Antoine van der Lee

Published: 2026-07-13T07:21:09Z

Content type: article

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [diagnostics](<https://devfeed.tech/tags/diagnostics.md>), [html](<https://devfeed.tech/tags/html.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

The article introduces Diagnostics, an open source library for app support and bug investigation. It generates a detailed HTML diagnostics report containing app and OS versions, device and storage details, session information, and system or debug logs. The report can be attached when users submit feedback, reducing back-and-forth and helping developers analyze issues; the article also notes support for agentic development.

### Source excerpt

A user diagnostics report that helps you solve bugs and improve user support at the same time. I've been writing apps since 2009, and the Diagnostics repository is an outcome of all that experience. Used by major apps from companies like WeTransfer, it has proven its value time after time. I've seen consistent inefficiency at ... -> The post User Diagnostics Reports: Solving app bugs faster with AI Agents appeared first on SwiftLee.

## WWDC 2026 Viewing Guide

DevFeed: [WWDC 2026 Viewing Guide](<https://devfeed.tech/articles/wwdc-2026-viewing-guide-21089.md>)

Original publisher: [Read original article](<https://useyourloaf.com/blog/wwdc-2026-viewing-guide/>)

Author: Keith Harrison

Published: 2026-06-15T09:16:45Z

Content type: tutorial

Language: en

Sources: [K. Harrison](<https://devfeed.tech/sources/k-harrison.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [MLX](<https://devfeed.tech/topics/mlx.md>), [NumPy](<https://devfeed.tech/topics/numpy.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [apple](<https://devfeed.tech/tags/apple.md>), [auto-layout](<https://devfeed.tech/tags/auto-layout.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios27](<https://devfeed.tech/tags/ios27.md>), [macos27](<https://devfeed.tech/tags/macos27.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>), [wwdc](<https://devfeed.tech/tags/wwdc.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A guide to planning and watching WWDC 2026 sessions, highlighting platform themes and selected updates in Swift, SwiftUI, Xcode, WebAssembly, gRPC, and MLX.

### Source excerpt

My WWDC 2026 viewing guide to help you plan the sessions you want to watch. Where Do I Start? The two big themes for the year are again Liquid Glass and Apple Intelligence. Start by watching the Platforms State of the Union (SOTU) for a summary of what's new this year. If you only have five minutes try the SOTU recap. You don't have to learn everything new today! There are over 100 sessions and a lot of new stuff to learn. You may feel like you're getting left behind. Don't let it overwhelm you. You've got time. Don't burn yourself out trying to keep up. Watching The Sessions I watch the videos using the Apple Developer app. It's available on macOS and iOS. The video player supports from 0.5x to 2x playback, most videos have transcripts and summaries, and allow copying of the onscreen sample code. You can also watch on YouTube. There are a lot of sessions, but many are short (15-20 minutes). There's no padding and Apple's engineers get to the point quickly. Swift Swift 6.4 is here with some quality of life improvements: What's new in Swift Condense long @available attributes with anyAppleOS, @diagnose to control compiler deprecation warnings. Double-colon module selector. Standard Library task cancellation shield, dictionary mapKeyedValues, new FilePath type. XCTest interop with Swift Testing. Subprocess 1.0. New ProgressManager. @C attribute for Swift-C interop. Compile to WebAssembly. New @inline(always) and @specialized attributes. Iterable protocol for noncopyable elements. Build real-time apps and services with gRPC and Swift gRPC Swift package to generate and deploy network code for remote procedure call services. Explore numerical computing in Swift with MLX NumPy-like API. Examples of computing the Mandlebrot set, heat distribution, and curve fitting. SwiftUI Liquid Glass changes and some welcome improvements: What's new in SwiftUI Liquid Glass is now mandatory. Minimal menu icons by default. Resize live previews in Xcode. Prominent tab role. Toolbar visibil

## Codename One Adds Native macOS Builds and Desktop Integration

DevFeed: [Codename One Adds Native macOS Builds and Desktop Integration](<https://devfeed.tech/articles/your-codename-one-app-now-a-native-mac-app-19356.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/mac-native-builds-and-desktop-integration/>)

Author: Shai Almog

Published: 2026-06-06T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [build](<https://devfeed.tech/tags/build.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mac](<https://devfeed.tech/tags/mac.md>), [native](<https://devfeed.tech/tags/native.md>), [notifications](<https://devfeed.tech/tags/notifications.md>)

### AI overview

Codename One 7.0.250 adds a native macOS application target that builds from the existing iOS pipeline without bundling a JVM. Desktop integration also adds native window chrome, menus, interactive scrollbars, and notifications, while Mac signing remains an infrastructure gap.

### Source excerpt

The same Codename One project can now build a REAL native Mac app through the iOS pipeline, and a deeper desktop layer gives it a real title bar, a native menu bar, interactive scrollbars, and desktop notifications.

## Announcement: Xcode15 Deprecation in Semaphore

DevFeed: [Announcement: Xcode15 Deprecation in Semaphore](<https://devfeed.tech/articles/announcement-xcode15-deprecation-in-semaphore-20413.md>)

Original publisher: [Read original article](<https://semaphore.io/blog/announcement-xcode15-deprecation-in-semaphore>)

Author: Pete Miloravac

Published: 2026-05-12T10:56:42Z

Content type: release

Language: en

Sources: [Semaphore Engineering](<https://devfeed.tech/sources/semaphore-engineering.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [ci](<https://devfeed.tech/topics/ci.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [ci](<https://devfeed.tech/tags/ci.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [product-news](<https://devfeed.tech/tags/product-news.md>), [scheduled](<https://devfeed.tech/tags/scheduled.md>), [september-2026](<https://devfeed.tech/tags/september-2026.md>), [switching](<https://devfeed.tech/tags/switching.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Semaphore announces the deprecation and end of life of its macOS Xcode15 build environments. Brownout periods will precede removal on July 6, 2026, and users are advised to migrate their pipelines to a supported Xcode version, preferably Xcode26.

### Source excerpt

MacOS Xcode15 reached the end of its supported lifecycle on Semaphore. To ensure the security, reliability, and maintainability of our platform, we are announcing the deprecation and end of life of MacOS Xcode15 build environments. Semaphore users should consider switching to Xcode26 as Xcode16 is scheduled for deprecation in September 2026. Why We're Deprecating Xcode15 [...] The post Announcement: Xcode15 Deprecation in Semaphore appeared first on Semaphore.

## Flutter 3.44 will make Swift Package Manager the default for iOS and macOS apps

DevFeed: [Flutter 3.44 will make Swift Package Manager the default for iOS and macOS apps](<https://devfeed.tech/articles/saying-goodbye-to-cocoapods-swift-package-manager-is-soon-the-default-in-flutter-23043.md>)

Original publisher: [Read original article](<https://blog.flutter.dev/saying-goodbye-to-cocoapods-swift-package-manager-is-soon-the-default-in-flutter-645a92714a57?source=rss----4da7dfd21a33---4>)

Author: Jenn Magder

Published: 2026-04-30T15:57:00Z

Content type: release

Language: en

Sources: [Flutter - Medium](<https://devfeed.tech/sources/flutter-medium.md>)

Topics: [Flutter](<https://devfeed.tech/topics/flutter.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [flutter-app-development](<https://devfeed.tech/tags/flutter-app-development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [migration](<https://devfeed.tech/tags/migration.md>), [release](<https://devfeed.tech/tags/release.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Flutter 3.44 will make Swift Package Manager the default dependency manager for iOS and macOS apps, replacing CocoaPods. The Flutter CLI will migrate projects automatically, temporarily fall back to CocoaPods for unsupported plugins, and allow developers to opt out if SwiftPM causes breaking issues.

### Source excerpt

Dash migration! Starting with the next stable Flutter release, 3.44, Swift Package Manager (SwiftPM) replaces CocoaPods as the default dependency manager for iOS and macOS apps. This means no more messing around with Ruby or CocoaPods installations just to get your app running! CocoaPods is officially in maintenance mode, and its registry will permanently become read-only on December 2, 2026. While existing builds will still work, no new versions or pods will be added to the trunk after this date. To ensure that your apps continue receiving dependency updates and to provide access to the Swift package ecosystem, Flutter is transitioning to Apple's supported dependency management solution: Swift Package Manager. If you've already migrated your plugin(s) to use SwiftPM, read the "Plugin developers" section below for new migration requirements. Here is how to manage the transition. App developers For app developers, the Flutter CLI handles the migration. When you run or build your iOS or macOS app, the CLI automatically updates your Xcode project to use Swift Package Manager. Check out the Flutter migration docs for app developers for more details. If your app relies on plugins that haven't adopted Swift Package Manager yet, Flutter will print a warning listing exactly which of your dependencies are unsupported. Flutter will temporarily fall back to CocoaPods for plugins that have not adopted Swift packages yet. Because CocoaPods support will eventually be removed entirely, if a plugin hasn't updated and breaks your build, file an issue with the dependency's maintainer to request Swift package support or find an alternative package. We know that migrations can sometimes hit a snag. If SwiftPM causes a breaking issue, you can temporarily disable it for your project. Open your pubspec.yaml file, navigate to the flutter section, and set enable-swift-package-manager to false under the config block: flutter: config: enable-swift-package-manager: false If you opt out, please

## Xcode 26 Migration, UIScene Rollout, Initializr Localization Bundles, and More

DevFeed: [Xcode 26 Migration, UIScene Rollout, Initializr Localization Bundles, and More](<https://devfeed.tech/articles/xcode-26-migration-uiscene-rollout-initializr-localization-bundles-and-more-19682.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/xcode-26-migration-and-localization-bundles/>)

Author: Shai Almog

Published: 2026-03-07T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>), [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Android](<https://devfeed.tech/topics/android.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [adaptive](<https://devfeed.tech/tags/adaptive.md>), [android](<https://devfeed.tech/tags/android.md>), [developer-guide](<https://devfeed.tech/tags/developer-guide.md>), [ios](<https://devfeed.tech/tags/ios.md>), [migration](<https://devfeed.tech/tags/migration.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [updates](<https://devfeed.tech/tags/updates.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A Codename One update reports a staged Xcode 26 migration, initial UIScene support for testing, and Initializr-generated localization resource bundles. It also covers localization workflow improvements, Android adaptive icons, iOS notification replacement fixes, and UI and resource tooling updates.

### Source excerpt

We started the Xcode 26 migration rollout, Initializr now generates localization resource bundles, and there are several useful platform updates you should know about.

## XcodeGen and the quest to modularize the Wealthfront iOS app

DevFeed: [XcodeGen and the quest to modularize the Wealthfront iOS app](<https://devfeed.tech/articles/xcodegen-and-the-quest-to-modularize-the-wealthfront-ios-app-20461.md>)

Original publisher: [Read original article](<https://eng.wealthfront.com/2026/03/02/xcodegen-and-the-quest-to-modularize-the-wealthfront-ios-app/>)

Author: Matthew Bommer

Published: 2026-03-02T17:56:41Z

Content type: tutorial

Language: en

Sources: [Wealthfront](<https://devfeed.tech/sources/wealthfront.md>)

Topics: [XcodeGen](<https://devfeed.tech/topics/xcodegen.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [careers](<https://devfeed.tech/tags/careers.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [ios](<https://devfeed.tech/tags/ios.md>), [modularization](<https://devfeed.tech/tags/modularization.md>), [swift](<https://devfeed.tech/tags/swift.md>), [wealthfront-engineering](<https://devfeed.tech/tags/wealthfront-engineering.md>), [xcode](<https://devfeed.tech/tags/xcode.md>), [xcodegen](<https://devfeed.tech/tags/xcodegen.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

Wealthfront describes adopting XcodeGen to generate Xcode project files from declarative YAML, reducing project-file merge conflicts and making build configuration more reviewable. The team also plans to use it to support modularizing its large iOS application into independently compilable modules.

### Source excerpt

Every iOS application starts as a monolith. Xcode's default project structure places all source files, resources, and build configuration into a single module (or target, for all the iOS devs reading this). For small apps, this works fine. For a 10+ year old financial application with roughly 2,000 Swift and a handful of Objective-C files,... Read more

## Discovering iOS Memory Leaks IV: Detecting via Unit Tests

DevFeed: [Discovering iOS Memory Leaks IV: Detecting via Unit Tests](<https://devfeed.tech/articles/discovering-ios-memory-leaks-iv-detecting-via-unit-tests-28531.md>)

Original publisher: [Read original article](<https://www.amanjeet.me/discovering-ios-memory-leaks-iv-detecting-via-unit-tests/>)

Author: Amanjeet Singh Gurtatta

Published: 2026-01-07T01:46:06Z

Content type: tutorial

Language: en

Sources: [Amanjeet Singh](<https://devfeed.tech/sources/amanjeet-singh.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [unit tests](<https://devfeed.tech/topics/unit-tests.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This article explores detecting real iOS memory leaks with unit tests instead of UI tests. It describes running the macOS leaks tool against the Firefox process during unit-test teardown in the iOS simulator to shorten the feedback cycle and broaden coverage.

### Source excerpt

Using unit tests and macOS leaks tool to catch real iOS memory leaks.

## LightBuddy: A Mac Display Lighting Prototype Superseded by macOS Edge Light

DevFeed: [LightBuddy: A Mac Display Lighting Prototype Superseded by macOS Edge Light](<https://devfeed.tech/articles/sherlocked-before-it-was-born-lightbuddy-39531.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2025-12-15-sherlocked-before-it-was-born-lightbuddy>)

Published: 2025-12-16T18:00:00Z

Content type: opinion

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [GUI](<https://devfeed.tech/topics/gui.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gui](<https://devfeed.tech/tags/gui.md>), [macos](<https://devfeed.tech/tags/macos.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Gui Rambo recounts creating LightBuddy, a Mac display-based lighting prototype for video calls, and how Apple later integrated a similar Edge Light feature into macOS. He reflects on how shipping the app first might have felt to be overshadowed by Apple.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Why Legacy Xcode Projects May Benefit from Replacing Groups with Folders

DevFeed: [Why Legacy Xcode Projects May Benefit from Replacing Groups with Folders](<https://devfeed.tech/articles/stop-using-groups-in-xcode-29461.md>)

Original publisher: [Read original article](<https://medium.com/mobile-app-development-publication/stop-using-groups-in-xcode-9759abd85837?source=rss----f9c208bdbb09---4>)

Author: Elye - A Dev By Grace

Published: 2025-12-07T13:07:57Z

Content type: article

Language: en

Sources: [Mobile App Development Publication - Medium](<https://devfeed.tech/sources/mobile-app-development-publication-medium.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [legacy](<https://devfeed.tech/topics/legacy.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [coding](<https://devfeed.tech/tags/coding.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [structure](<https://devfeed.tech/tags/structure.md>), [xcode](<https://devfeed.tech/tags/xcode.md>), [xcode-16](<https://devfeed.tech/tags/xcode-16.md>)

### AI overview

This article explains how Xcode project file organization differs between Groups and Folders. It notes that projects created before Xcode 16 use Groups by default, while new projects use Folders, and introduces reasons for considering Folders in legacy projects.

### Source excerpt

Seven Reasons Folders Are Better -- Especially for Legacy Projects Continue reading on Mobile App Development Publication "

## Understanding Apple Debug Info

DevFeed: [Understanding Apple Debug Info](<https://devfeed.tech/articles/understanding-apple-debug-info-25412.md>)

Original publisher: [Read original article](<https://smileykeith.com/2025/09/21/understanding-apple-debug-info/>)

Author: Keith Smiley

Published: 2025-09-21T17:00:00Z

Content type: tutorial

Language: en

Sources: [Keith Smiley](<https://devfeed.tech/sources/keith-smiley.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [C](<https://devfeed.tech/topics/c.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [binaries](<https://devfeed.tech/tags/binaries.md>), [build](<https://devfeed.tech/tags/build.md>), [c](<https://devfeed.tech/tags/c.md>), [clang](<https://devfeed.tech/tags/clang.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [debug](<https://devfeed.tech/tags/debug.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [ios](<https://devfeed.tech/tags/ios.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [macos](<https://devfeed.tech/tags/macos.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This article explains how debug information works for Apple platforms and Mach-O binaries, contrasting the approach with Linux ELF binaries. It shows how compiler-generated debug metadata is stored in intermediate object files and located by lldb, then introduces issues that can arise in complex or distributed Bazel builds, including invalid absolute paths.

### Source excerpt

Apple platforms (macOS, iOS, etc), and specifically Mach-O binaries, have a slightly different approach to debug info than ELF binaries for Linux. If you are familiar with Xcode, you might have seen a few related settings that control what is produced and wondered what the trade-offs are. The goal of this post is to help you debug cases where these differences lead to a degraded debugging experience in lldb so that you can fix them. If you have a particularly complex build, potentially managed by Bazel1 or another tool, especially if you are using distributed builds, you are even more likely to hit issues. Let's dive in to how the pieces fit together. A brief explanation of debug info Debug info is metadata produced by the compiler that is consumed by debuggers (like lldb), profilers, and other tools. It is used to map runtime information, like addresses, function arguments, and stack traces, back to the source that was used to produce the binary. Without this information debugging in lldb shows primarily raw instructions and addresses, which is rarely acceptable for common debugging workflows. Inspecting debug info When building for Apple platforms debug info isn't contained in the final binary (this is the primary difference from the default Linux workflows). Instead the binary contains references to the files where lldb can find it (this is conceptually similar to if you use -gsplit-dwarf on Linux). Let's inspect some binaries to see what this really means. First we create a small binary: $ cat main.c int main() { return 0; } $ clang main.c -g -c -o main.o $ clang main.o -o main If we attempt to inspect the debug info contained in main, we find nothing: $ dwarfdump main # use llvm-dwarfdump if not on macOS main: file format Mach-O arm64 .debug_info contents: However when we debug this binary in lldb, you will correctly see the source file and line number information: $ lldb -- main (lldb) target create "main" Current executable set to '/tmp/demo/main' (arm64). (l

## Using \`make\` to compile C programs (for non-C-programmers)

DevFeed: [Using \`make\` to compile C programs (for non-C-programmers)](<https://devfeed.tech/articles/using-make-to-compile-c-programs-for-non-c-programmers-21120.md>)

Original publisher: [Read original article](<https://jvns.ca/blog/2025/06/10/how-to-compile-a-c-program/>)

Author: Julia Evans

Published: 2025-06-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Julia Evans](<https://devfeed.tech/sources/julia-evans.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [make](<https://devfeed.tech/topics/make.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [apt](<https://devfeed.tech/topics/apt.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [apt](<https://devfeed.tech/tags/apt.md>), [building](<https://devfeed.tech/tags/building.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mac](<https://devfeed.tech/tags/mac.md>), [make](<https://devfeed.tech/tags/make.md>), [packages](<https://devfeed.tech/tags/packages.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A beginner-oriented guide to compiling C programs from source, covering compiler installation, dependency discovery, and build tools on Ubuntu and macOS.

### Source excerpt

I have never been a C programmer but every so often I need to compile a C/C++ program from source. This has been kind of a struggle for me: for a long time, my approach was basically "install the dependencies, run make, if it doesn't work, either try to find a binary someone has compiled or give up". "Hope someone else has compiled it" worked pretty well when I was running Linux but since I've been using a Mac for the last couple of years I've been running into more situations where I have to actually compile programs myself. So let's talk about what you might have to do to compile a C program! I'll use a couple of examples of specific C programs I've compiled and talk about a few things that can go wrong. Here are three programs we'll be talking about compiling: paperjam sqlite qf (a pager you can run to quickly open files from a search with rg -n THING | qf) step 1: install a C compiler This is pretty simple: on an Ubuntu system if I don't already have a C compiler I'll install one with: sudo apt-get install build-essential This installs gcc, g++, and make. The situation on a Mac is more confusing but it's something like "install xcode command line tools". step 2: install the program's dependencies Unlike some newer programming languages, C doesn't have a dependency manager. So if a program has any dependencies, you need to hunt them down yourself. Thankfully because of this, C programmers usually keep their dependencies very minimal and often the dependencies will be available in whatever package manager you're using. There's almost always a section explaining how to get the dependencies in the README, for example in paperjam's README, it says: To compile PaperJam, you need the headers for the libqpdf and libpaper libraries (usually available as libqpdf-dev and libpaper-dev packages). You may need a2x (found in AsciiDoc) for building manual pages. So on a Debian-based system you can install the dependencies like this. sudo apt install -y libqpdf-dev libpaper-dev

## Meet SnappTheming

DevFeed: [Meet SnappTheming](<https://devfeed.tech/articles/meet-snapptheming-24551.md>)

Original publisher: [Read original article](<https://medium.com/snapp-mobile/meet-snapptheming-abd04baa7bee?source=rss----bcd96e620b02---4>)

Author: Volodymyr Voiko

Published: 2025-02-27T10:28:25Z

Content type: tutorial

Language: en

Sources: [Snapp Mobile - Medium](<https://devfeed.tech/sources/snapp-mobile-medium.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Library](<https://devfeed.tech/topics/library.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [JSON](<https://devfeed.tech/topics/json.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [design](<https://devfeed.tech/tags/design.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [installation](<https://devfeed.tech/tags/installation.md>), [ios](<https://devfeed.tech/tags/ios.md>), [json](<https://devfeed.tech/tags/json.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-package](<https://devfeed.tech/tags/swift-package.md>), [ui-components](<https://devfeed.tech/tags/ui-components.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial introduces SnappTheming, an open-source Swift framework for dynamically applying app themes from JSON declarations. It explains how to add the package to an Xcode project and use theme elements such as colors, fonts, gradients, images, animations, metrics, and shapes in UI components.

### Source excerpt

Today, most applications interact with cloud-based content. In addition to content, app configurations such as feature flags, translations, and even UI elements (Server Driven UI) are often managed from the server. But what about theming? How can we hotswap or update app themes without requiring app updates? I have the answer! Recently, we at snappmobile.io announced our open-source library, SnappTheming. This Swift framework simplifies the integration of dynamic design themes into your applications. By utilizing JSON declarations, SnappTheming facilitates the extraction and application of various theming elements, including colors, fonts, gradients, and shape styles, directly into the application's user interface. In this article, we will explore how to get started with the SnappTheming library, including installation steps and basic usage. Getting Started In this section, we will create a sample app that utilizes the SnappTheming dependency. We will define a theme and use its declaration to retrieve styling elements and apply them to various UI components. This will demonstrate how easy it is to implement dynamic theming in your application. To get started, first create a new project in Xcode. Creating the Project Before we begin, ensure that you have Xcode installed (make sure it's a version compatible with Swift). Follow these steps to create a new Xcode project: Open Xcode and select "Create a new Xcode project." Choose the appropriate template for your app, such as "Single View App." Fill in the necessary details like project name and organization identifier, then click "Next" to create the project. Adding the Framework Dependency Next, we need to add the SnappTheming package dependency to our project. Follow these steps: Open your project's settings and navigate to the "Swift Packages" tab. Click the "+" button to add a new package. Enter the URL for the SnappTheming repository and select the version you want to use. Click "Add Package" to include it in your

## Debugging Kotlin in Xcode with SPM Builds - Kevin Galligan

DevFeed: [Debugging Kotlin in Xcode with SPM Builds - Kevin Galligan](<https://devfeed.tech/articles/debugging-kotlin-in-xcode-with-spm-builds-kevin-galligan-38318.md>)

Original publisher: [Read original article](<https://touchlab.co/spm-kotlin-debugging>)

Published: 2024-12-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [builds](<https://devfeed.tech/tags/builds.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [skie](<https://devfeed.tech/tags/skie.md>), [spm](<https://devfeed.tech/tags/spm.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This article explains how updated SKIE and KMMBridge support local debugging of Kotlin Multiplatform binaries distributed through Swift Package Manager. With the Xcode Kotlin plugin, iOS developers can browse and debug the Kotlin code without locally compiling or configuring KMP dependencies.

### Source excerpt

Virtually all native mobile teams integrate Kotlin Multiplatform by publishing Xcode binaries, usually with SPM. This is generally easy to integrate, but prevented iOS developers from browsing or debugging Kotlin. Today we have fixed that situation.

## Discovering iOS memory leaks III: Automating with Github Action

DevFeed: [Discovering iOS memory leaks III: Automating with Github Action](<https://devfeed.tech/articles/discovering-ios-memory-leaks-iii-automating-with-github-action-28532.md>)

Original publisher: [Read original article](<https://www.amanjeet.me/discovering-ios-memory-leaks-part-three/>)

Author: Amanjeet Singh Gurtatta

Published: 2024-12-01T10:28:06Z

Content type: tutorial

Language: en

Sources: [Amanjeet Singh](<https://devfeed.tech/sources/amanjeet-singh.md>)

Topics: [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [test](<https://devfeed.tech/topics/test.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [maestro](<https://devfeed.tech/tags/maestro.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [process](<https://devfeed.tech/tags/process.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>), [xcode](<https://devfeed.tech/tags/xcode.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This third article in a series explains how to automate iOS memory-leak detection in a CI pipeline using GitHub Actions. It covers setting up a macOS runner, building and installing Firefox iOS, launching the app and running a Maestro test, invoking the leaks command, uploading reports, and using a baseline to distinguish known leaks from newly introduced ones.

### Source excerpt

Automating Leak Detection with Github Action

[Next page](<https://devfeed.tech/topics/xcode.md?cursor=WyIyMDI0LTEyLTAxVDEwOjI4OjA2KzAwOjAwIiwgImQ4ZDE4ODZjLTY2NTAtNDljNi04NmU4LTUyMWY4Mjk2ZjVlYyJd>)