Skip to content

Reducing App Size on iOS

The Client SDK increases app size mainly because of the bundled WebRTC and noise suppression frameworks. For background on where the size comes from, see Client SDK App Size.

On iOS the observed ~14.5 MB increase already reflects a near-optimal, device-specific download — App Store thinning is applied automatically. The recommendations below ensure your release builds stay at that floor.

1. App Store thinning (automatic)

The Apple App Store automatically performs App Thinning, delivering only the device-specific slice to each user. This means the ~14.5 MB figure already reflects a near-optimal download size for real devices — it is close to the floor for iOS today. No action is required.

2. Enable dead-code stripping

Ensure the following build settings are enabled in your Release scheme in Xcode:

Build settingValueKey
Strip Linked ProductYesSTRIP_INSTALLED_PRODUCT
Dead Code StrippingYesDEAD_CODE_STRIPPING

These settings remove unused symbols and code from the final binary, reducing the shipped binary size.

3. Exclude simulator slices from production builds

Verify that your production/Release build does not bundle simulator slices (x86_64, i386). Simulator architectures should only be present in Debug/development builds — shipping a build with simulator slices unnecessarily inflates the app size for end users.

TIP

If you integrate via an XCFramework, device and simulator slices are kept in separate framework variants and Xcode selects the correct one per configuration automatically. Double-check any manual .framework integration or custom build scripts that might copy simulator slices into a Release build.

Summary

RecommendationImpact
App Store ThinningAutomatic — already applied
Strip Linked Product / Dead Code StrippingReduces binary size
Exclude simulator slices in ReleasePrevents unnecessary bloat

Built with VitePress.