Reducing app size

Performance Mid-level Swift 5.0+ iOS 17+ Reviewed By Alok Singh

Pick the fix

Which change reduces download size the most for a typical app with 150 MB of bundled videos?

Options
Hint 1 of 1

What is the biggest item, and is it needed at first launch?

Choose an answer, then open Show answer below to check it.

Show answer

Answer: A Move the videos to On-Demand Resources or Background Assets and download them when needed

Correct. Large optional media leaves the initial download.

Why not the others?
  • B Turn on Bitcode. Bitcode is deprecated since Xcode 14 and no longer accepted.
  • C Rename the video files. Names don't change size.
  • D Move the videos into an asset catalog. Asset catalogs help with image variants, not large videos.

30-second answer

Start with Xcode's App Size Report from an exported archive to see what takes space. Put images in asset catalogs so App Thinning delivers only the right variants per device, compress or convert large media, remove unused code, assets and dependencies, and move optional content to On-Demand Resources or Background Assets. Bitcode is deprecated, so it is no longer a size technique.

Practise saying it · 30 s. No recording, just a timer

Explain how you shrink an app.

Say your answer out loud, then check which of these points you covered:

  • Size report
  • Asset catalogs and thinning
  • Remove unused
  • On-demand content

Deep dive

App Thinning includes slicing (per-device variants) and on-demand resources.

Vector PDFs or SF Symbols replace many PNG sizes.

Check the size impact of each third-party SDK.

Cellular download limits make size a conversion issue.

Common mistakes

  • Shipping large media in the bundle.
  • Ignoring SDK weight.

Senior take & follow-ups

Seniors measure with the size report and treat size as a budget.

Follow-up questions

Think of your answer first, then open the hint.

  1. What is slicing?

    Show hint

    The App Store delivers only the assets and architecture a device needs.

  2. Where do optional assets go?

    Show hint

    On-Demand Resources or Background Assets.

Suggest a fix if something here is wrong or out of date.