Size of the Anyline SDK Bundle Explained - iOS
Why is the Anyline SDK Bundle so large?
Integrating our SDK can add up to 90MB for Android, 50MB for iOS and 20MB for Windows, due to all the necessary resources for all the processing. We are working on this and hope to be able to optimise further in the future.
Please note that the Anyline SDK requires the inclusion of computer vision and machine learning libraries, because there is no server side processing. This enables fully offline functionality and increased safety. The combination of all these resources, therefore, increases the size of our SDK.
Below is a table of how much space each module takes up in your app.
Version 42.3.0
MODULE(S) | SIZE OF ALL ADDED | OVERALL SIZE | SIZE WHEN REMOVED |
---|---|---|---|
All Modules | 133.3MB | 73.7MB | 59.9MB |
module_tire | 133.3MB | 12.5MB | 120.8MB |
module_license_plate | 133.3MB | 9.7MB | 123.6MB |
module_document | 133.3MB | 0.6MB | 132.7MB |
module_barcode | 133.3MB | 0MB | 133.3MB |
module_anyline_ocr | 133.3MB | 10.3MB | 123MB |
module_id | 133.3MB | 18.7MB | 114.6MB |
module_energy | 133.3MB | 21.9MB | 111.4MB |
Version 43
MODULE(S) | SIZE OF ALL ADDED | OVERALL SIZE | SIZE WHEN REMOVED |
---|---|---|---|
All Modules | 181.8MB | 73.6MB | 108.2MB |
module_tire | 181.8MB | 12.5MB | 169.3MB |
module_license_plate | 181.8MB | 9.7MB | 172.1MB |
module_document | 181.8MB | 0.5MB | 181.3MB |
module_barcode | 181.8MB | 0MB | 181.8MB |
module_anyline_ocr | 181.8MB | 10.3MB | 171.5MB |
module_id | 181.8MB | 18.7MB | 163.1MB |
module_energy | 181.8MB | 21.9MB | 159.9MB |
What exactly does the Bundle SDK include?
THE ANYLINE SDK EXAMPLES BUNDLE FOR ANDROID |
THE ANYLINE SDK EXAMPLES BUNDLE FOR iOS |
THE ANYLINE SDK EXAMPLES BUNDLE FOR UWP |
Reducing the Size of the SDK
iOS |
Add the following script to Run Script in your Build Phases of your project.
# --Available Modules--
DIR_DOCUMENT="module_document"
DIR_OCR="module_anyline_ocr"
DIR_BARCODE="module_barcode"
DIR_ENERGY="module_energy"
DIR_ID="module_id"
DIR_LICENSE_PLATE="module_license_plate"
DIR_TIRE="module_tire"
# Identify any of the SDK modules from the list above that the app requires
# eg ${DIR_ID} ${DIR_ENERGY} and set the MODULES_TO_KEEP_ARRAY accordingly
MODULES_TO_KEEP_ARRAY=(${DIR_ID}, ${DIR_LICENSE_PLATE})
echo "Modules to include: ${MODULES_TO_KEEP_ARRAY[@]}"
FILENAME="AnylineResources.bundle"
MODULES_DIR_PATH=$(find "${CODESIGNING_FOLDER_PATH}" -iname ${FILENAME})
MODULES_ARRAY=(${DIR_OCR} ${DIR_BARCODE} ${DIR_DOCUMENT} ${DIR_ENERGY} ${DIR_ID} ${DIR_LICENSE_PLATE} ${DIR_TIRE})
if ((${#MODULES_TO_KEEP_ARRAY[@]})); then
for module in "${MODULES_ARRAY[@]}"; do
if [[ ! " ${MODULES_TO_KEEP_ARRAY[*]} " =~ " ${module} " ]]; then
echo "Removing module ${module}"
rm -rf "${MODULES_DIR_PATH}/${module}"
fi
done
fi
WARNING: Please make sure not to delete the module or any other resources you require!
Tutorial Videos
Here, you will be able to watch our SDK Size Reduction Tutorial video for iOS.
Important Notes
Links to Documentation