How to reduce size of an iOS app built with kivy-ios? - 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.

Related

Huge app size of iOS build in react native

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

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

How to decrease iOS app size xcode 7.3

i have developed an iOS app and i'm using many 3rd party libraries suck as Google, Facebook, VLC ect, when i generate IPA i'm getting 92,5MB and when i upload it to appStore i get 200MB.
Is there a way to decrease it to arround 60MB ?
Make sure you have all optimisation switched on in Build Settings.
And yes, sometimes its easier to check library code on GitHub (if it open sourced) and implement necessary logic manually, that include whole library in the project. Swift projects quite bulky, need to keep all runtime libraries inside the app

FacebookSDK.a increasing installed app size dramatically on iOS with Unity

I have tried this with an empty project. Integrating the FacebookSDK.a lib which is linked by the official Unity Facebook plugin makes the size of the installed app (appname.app) jump from 8~9MB to 70MB.
Note that I am not talking about ipa size which stays normal, but really the installed app size.
I don't think this is normal and I am wondering if there is a way not to link the FacebookSDK.a and do it with the normal FBSDKCoreKit.framework instead ? or actually any other way that doesn't have such a huge impact on installed app size.

Trimming down skobbler map size & offering download alternatives

We're making offline road-trip planner.
We want to use skobbler maps but the main issue is that the framework is way too big.
Even with some trimming down options, it's still over 110Mb (only with skobbler framework).
Inside SKMaps.framework there is a document SKMaps with 95Mb is size.
No program can open this document (at least no program i have on my mac atm).
I was wondering what might be in this document and is it possible to 'open' it and remove unnecessary files from it.
I am asking this because when I launch my app with skobbler in it, there is a map of entire world available to explore.
I don't need that. I only need several states in the US and that's it. One state is roughly 30Mb in size, which is acceptable and download option for each state can be an asset, so a user downloads only what he needs.
IF there is no way of deleting entire world map from framework, what are my other options?
Can this file SKMaps, with 96Mb in size be downloaded after a user launches an app, so I don't have a huge app on the app store?
Can i write and launch my app without SKMaps in the app bundle from the start, and I make the user download it once he starts an app for the first time?
Edit the SkMaps.bundle and this will impact the .framework object.
Indeed, the unpacked size will be > 100 MB but when packing it (generating the .ipa file) it will only add ~20MB to the final app file (i.e. compiling the demo project without audio advices and only 1 style, targeting both armv7 and arm64 will generate a .ipa file of ~ 19.4)
By default the demo app does not "contain" any maps - it connects to the servers and downloads the map from there.
If you'd like to download "offline maps" - see the "Maps.json and downloads" example in the demo app.
If you're intent is to "prebundle" an offline map within your app see: http://sdkblog.skobbler.com/creating-an-app-with-a-pre-bundled-map/

Resources