Huge app size of iOS build in react native - ios

how to reduce app size in react-native ios. In android i'll include the "armeabi-v7a", "x86" into build gradle file, its working fine. for ios?
React-native : 0.57.7

You should not compare iOS app size with android! There are two different platforms. Second thing if you have used assets for the images and taken care of the app thinning then your app size will be different for the different devices. If you have uploaded any build on the test flight then from AppStoreConnect -> activity -> click on app icon -> click on App Store File Sizes and you will find different sizes for different devices. App size varies as per the device resolution.
Reference Screenshots:
Now, To reduce the iOS build size you can take care of below things:
Use Assets to manage the images. Do not put it in the folder or directory
App thinning
BitCode
On demand resources are resources that are hosted on the App Store and your app downloads them when they’re needed. You add your resources to your asset catalogs and you tag them
Run Time needed data should be kept at server side

Related

How to reduce the package size of ML Kit iOS?

I developed an application to do the text recognition by using ML Kit iOS. I only need to recognise in English. Is it possible to reduce the size of the package. Currently it's over 300 MB.
There are many different sizes to measure for a bundle. E.g. the bundle you upload to Apple has all 4 architectures of native code; but the actual served bundle to end user device only has 1 architecture. Another example is if you enable BitCode, the app bundle would appear much bigger locally, but the eventual downloaded size to end user device would be smaller (than wo/ Bitcode) and runs faster.
I'd recommend test for real served app size from App Store, e.g. via TestFlight.
Some numbers which I tried quickly, 1 architecture, wo/ Bitcode, 75MB for all Vision features ML Kit supports (you only need 1 of them, which is Text). 4 architectures is less than 200MB.
So some general suggestions:
1. Follow official documentation to configure only the Pods you require (instead of all Firebase).
https://firebase.google.com/docs/ml-kit/ios/recognize-text#before-you-begin
2. Enable Bitcode
3. Measure real downloaded app bundle size

Using images in the main Xcode project for Watch app

I have a watch application and I will display images in it. Those images are already included in IOS application so I don't want to copy them into watch app as well. How to use images in IOS side (not in asset catalog) in watch app?
With the introduction of watchOS2, WatckKit apps became native apps and not just extensions of their iOS counterpart. Due to this, the iOS and watchOS apps can no longer share a common AppGroup.
The only way to share data between apps is using the WatchConnectivity framework. However, for static images, you shouldn't use the WatchConnectivity framework. If you don't want to add the pictures to the asset catalog, you don't actually need to copy them. All you need to do is add them to your WatckKit app or app extension target, depending on whether you want to use them from Storyboard or code.
Keep in mind that the system will actually copy those images to your Watch target as well, since storage is not shared between the iOS and watchOS apps so you don't actually gain any storage advantages by not adding those images to both apps' asset catalogs.

How do we enable/Disable App slicing feature of iOS 9

AS iOS 9 is supporting App slicing feature just by adding needed images to image assets and you will get sliced app when download from appstore.
1) My question is do we need to do extra steps for App slicing feature or by just adding image to image assets it will work on Appstore (not like we are checking bitcode feature at the time of upload)
2) How can i deactivate App slicing feature even if i am using image assets.
1) No. You are right as per apple doc it clearly states here
2) I think we can not disable it.
Trying to answer your comment:
Theoretically:- i think if you some how forget to provide #....x image, still app store process will provide an alternative image to specific device. It may be same as #3x/#2x/#1x (what ever developer have provided ). If developer have provided more than 1 image like #1x and #3x both then #3x will be download to all device except #1x supported device.
Practically:-
Delete #1x or #2x what ever you want from image.xcasset.
Create archive.
Export the app for the target device to get ipa.
Change the .ipa extension to .zip and unpack the archive.
You should be able to see what images are there #1x/#2x/#3x. These
are the images which user will be downloading for his device.

How to reduce size of an iOS app built with kivy-ios?

We're building an iOS app using Kivy-iOS.
Our current app size is 397MB (as compared to 40MB for the same app deployed on Android using Buildozer).
We need to drastically reduce the size of this app but can't figure out how to do it.
Are there parts of the kivy-ios library that we could exclude to reduce the app size?
If so, how would we do it?
So far, we've gone one-by-one both within the tools folder of kivy-ios and within xCodes 'linked frameworks and libraries' but haven't been able to eliminate anything of substantial size while also successfully deploying the app.

What is the size of my Iphone Application when downloaded from the App Store?

When my app starts on my device xcode says it uses 3.4MB of memory.
When I use every feature in my app on my device xcode says it uses 14MB of memory.
When i submit my app on the appstore, when a user goes to download it, under information what will be the size of my app?
thankyou
That's your RAM usage, and has nothing to do with the download size.
The download size will be the size of all the png images/videos/etc in your application, plus a tiny bit more for the actual code.
To find out the exact number, do an "archive" build, and in the organiser there is an "estimate size" button.
The size of your app and the amount of memory it uses while running will be different because these are different things.
The size of the app is the size of the IPA on disk (which is a zip file) containing:
code (e.g. armv7 and armv8 slices)
supporting files (e.g. graphics, sounds etc...)
I would do an Ad-Hoc build in Xcode and look at the IPA produced in order to get the size.

Resources