iOS standalone app size is too big

I just tried to build a iOS IPA with exp, after several steps and got a IPA link . The app file size nearly 130M, this is so big.

My app is created by “create-react-native-app”, and not changed anything. Hope anyone could help to fix this.

My env is:

exp --version
36.0.0

Hi! Your IPA contains bitcode, as well as slicing for a few different device architectures, so it doesn’t represent the final binary that will appear in the App Store.

The Expo Client app, which is strictly larger than the code contained in your CRNA app, is currently 19.8 MB (compressed) in the App Store, and 26 MB when extracted onto a device. This varies slightly between versions as we update our SDK, but that’s the ballpark figure.

Do you still think that is too large?

3 Likes

Hi, @ben , thanks for your response. It’s helpful, if the IPA size is less than 30M will be fine for me.
BTW, i still have a issue:

  • there are some third party libs which built without full bitcode included, so it will always failed when build with bitcode in my project after i included these libs, so can i disable the bitcode option?

If you are using ExpoKit you can disable bitcode the same way you’d do so in any other Xcode project. If you’re just using Expo and built a standalone app with exp build this isn’t an issue at all.

I would also like to add that Android is similar. A standalone APK (in March 2017) is about 70MB but the APK in the Play Store is 24MB and when installed on my Nexus 5X it takes up about 56MB.

2 Likes

Hi, @ide thanks for your response.

I prefer use expo build. But in my project case must use ExpoKit to build. So i try to detach my project to a normal XCode project, but unfortunately it’s very slow when Downloading iOS code by ‘https://s3.amazonaws.com/exp-exponent-view-code/ios-v1.13.1-sdk14.0.0-06dab271-a23b-436f-a19e-1c86c16067b9.tar.gz’ in China. I tried many times and spend nearly half day to download, it keep hangs there… :worried:

1 Like

You might need to use a VPN to download that file. AWS S3 is usually very reliable and not that slow so I think the problem is with your internet connection to AWS.

@ide can u tell me ,how to disable ‘bitcode’ in expo?, thank you!

@weizeng All Expo IPAs include bitcode. This is the direction Apple is moving in. See hope has a option that build ios ipa wihtout bitcode · Issue #806 · expo/expo · GitHub for more technical details:

Hi, we don’t plan on adding this option because the Expo SDK depends on third party libraries that require bitcode.

Because of app thinning, your app’s size on any given device (or in the app store) is significantly smaller than the 100+ mb archive we generate for you. Although we do view binary bloat as a problem we’d like to address in the future, we’re talking realistically about a ~30mb app at the time of writing, not 140 mb.

2 Likes

thank u very much!!!

1 Like