You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keep small files in a compressed form on disk, using LZFSE, to reduce the size further
Replace the original language.lproj/Localizable.strings with placeholders that have one key-value pair each. This shows Apple that the same languages are still supported, so that it can pick the correct one based on the user's settings.
Use the iOS library that replaces NSLocalizedString with a new version, SSTStringForKey that fetches values for keys from this minified format.
Usage
Cocoapods
Add this to your Podfile:
pod 'SmallStrings'
Then add a Run Script build phase after the "Copy bundle resources" phase:
cd ${PODS_ROOT}/SmallStrings && ./localize.sh ${CODESIGNING_FOLDER_PATH} ${DERIVED_FILES_DIR}/SmallStrings.cache
Lastly, replace all usages of NSLocalizedString(key, comment) with SSTStringForKey(key).
Manual
Add Source/SSTSmallStrings.{h,m} to your project.
Create a compress binary via clang -O3 compress.m -framework Foundation -lcompression -o compress and put the executable in the same directory as localize.{rb,sh}.
Add a build step with cd /path/to/SmallStrings && ./localize.sh ${CODESIGNING_FOLDER_PATH} ${DERIVED_FILES_DIR}/SmallStrings.cache.
Lastly, replace all usages of NSLocalizedString(key, comment) with SSTStringForKey(key).