DebugSwift logoDebugSwift
← Back to blog

Engineering

Native Apple Silicon Simulator Builds

arm64 simulator slices, XCFramework distribution, and faster compile times.

When Apple Silicon Macs launched, the iOS simulator gained native arm64 execution — faster launches, lower battery use, and no Rosetta translation layer. Many CocoaPods projects fought this transition: dependencies shipped x86_64-only simulator slices, Podfiles excluded arm64 to force Intel builds, and compile times ballooned. DebugSwift ships native arm64 simulator support and a prebuilt XCFramework so Apple Silicon development stays fast.

The arm64 exclusion problem

A common workaround during the Intel-to-ARM transition was EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 in the Podfile. That forced the simulator to build x86_64 and run under Rosetta on M1/M2/M3 Macs. As dependencies added arm64 slices, teams removed the exclusion — but stale Podfiles still carry it, breaking arm64-native packages like DebugSwift with "unsupported architecture" errors.

What DebugSwift ships

  • Native arm64 and x86_64 simulator slices in the Swift package
  • XCFramework distribution for up to 50% faster compile times in large projects
  • Device arm64 slices for on-hardware debugging
  • Swift 6 compatibility with Xcode 16+

Swift Package Manager is the default path — Xcode resolves the correct slice automatically. For CI pipelines and large monorepos where compile time matters, use the prebuilt XCFramework via CocoaPods:

pod 'DebugSwift', :http => 'https://github.com/DebugSwift/DebugSwift/releases/latest/download/DebugSwift.xcframework.zip'

Fixing build errors

If you see unsupported Swift architecture or missing arm64 simulator slice errors, try these steps in order:

  • Update to the latest DebugSwift release — older tags may predate arm64 simulator support
  • Remove EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 from your Podfile and project build settings
  • Switch from source-based CocoaPods to the XCFramework URL above
  • Clean build folder (Shift+Cmd+K) and delete DerivedData if Xcode caches stale slices
  • Verify you are on Xcode 16+ with iOS 14+ deployment target

Why XCFramework for CI

Compiling DebugSwift from source on every CI run adds minutes to pipelines that already build your app target, extensions, and test bundles. The XCFramework is a precompiled binary — the linker drops in the right slice for simulator or device without recompiling Swift sources. Teams report roughly 50% faster debug builds when switching from source pods to the XCFramework on large projects. Keep SPM source integration for small apps where compile time is negligible.

Verifying your setup

After installation, run on an Apple Silicon Mac with an arm64 simulator (iPhone 15 or later). Call setup().show(), confirm the floating debug ball appears, and open the Network tab. If the overlay renders and captures traffic, your architecture slice is correct. See the troubleshooting docs for network capture verification if requests are missing.

Debug inside your app. Ship with confidence.

Open-source in-app debugging toolkit for iOS. Inspect network traffic, monitor performance, browse resources, and debug UI, all from a floating overlay inside your app.