What is the download size of the engine?#
IMGLYEngine.xcframework file, which is downloaded by Swift Package Manager or Cocoapods, has a compressed size exceeding 130 MB. However, it's essential to understand that this does not directly translate to an equivalent increase in your application's size.
In fact, the framework itself will only add around 10 MB to your app's bundle size, which is relatively small considering the rich feature set that IMGLYEngine provides. The actual impact on your app's size may vary depending on various factors, as discussed in the sections below.
What is the approximate download size of each showcase?#
Showcases are built on top of the IMGLYEngine using SwiftUI, which means the size of each showcase will be approximately the size of the engine plus a few additional megabytes. The precise size increase may depend on the bundled assets (scene files, images, stickers). For example, the IMGLYApparelUI and IMGLYPostcardUI showcases both add around 4 MB to the size of the engine.
IMGLYEngine does not include any assets, such as scene files, images, or stickers. However, the engine does provide a convenient API for loading assets from your app's bundle or serving them from a remote location. The size of your assets will directly impact your app's size.
IMGLYEngine is designed to support the iOS platform and provides slices for both
arm64 architectures. The
x86_64 architecture is specifically utilized for running apps within the iOS Simulator, whereas the
arm64 architecture is intended for executing apps on actual iOS devices.
Debug symbols (dSYMs)#
Debug symbols, also known as dSYMs, are substantial in size but essential for comprehending crash logs and debugging your application. They establish a link between your app's binary code and the human-readable source code, enabling you to determine the cause of a crash. The
IMGLYEngine.xcframework file includes debug symbols, which are primarily used for crash symbolication when uploading to external tools. Importantly, they won't negatively impact your app's size.
Bitcode is an intermediate representation of your app's binary, which allows Apple to optimize your app's binary for specific devices at the time of download. When you enable Bitcode for your app, the App Store will use this intermediate representation to recompile and optimize your app for each specific device, potentially resulting in smaller binaries and improved performance.
IMGLYEngine is built using Xcode 14, which has deprecated Bitcode support. As a result, the appropriate files for Bitcode (BCSymbolMaps) are not included within the package.