Ответ
Размер приложения критически влияет на конверсию установок и пользовательский опыт. Основные лимиты и рекомендации:
- Лимит загрузки по сотовой сети: 100 MB. Приложения большего объема можно скачать только через Wi-Fi (App Store покажет предупреждение).
- Рекомендуемый размер для лучшей конверсии: Менее 50 MB, особенно для бесплатных приложений.
- Ограничение для watchOS: 75 MB на один watchOS-компаньон.
Способы оптимизации размера:
- Используйте Asset Catalogs: Автоматическая оптимизация и поддержка разных разрешений.
- Включайте только необходимые архитектуры: Не поставляйте 32-битные (
armv7) бинарники для современных устройств. - Оптимизируйте медиафайлы: Конвертируйте изображения в эффективные форматы (HEIC, WebP), сжимайте видео/аудио.
- Используйте On-Demand Resources: Загружайте тяжелые ресурсы (уровни игры, контент) только по необходимости.
- Удаляйте неиспользуемый код: Включите настройку
Dead Code Strippingв Build Settings.
Пример проверки размера бандла:
func getAppBundleSize() -> Double? {
guard let bundlePath = Bundle.main.executablePath else { return nil }
do {
let attributes = try FileManager.default.attributesOfItem(atPath: bundlePath)
if let sizeInBytes = attributes[.size] as? Int64 {
return Double(sizeInBytes) / (1024 * 1024) // Размер в MB
}
} catch {
print("Ошибка: (error)")
}
return nil
}