Почему сборка от Crashlytics имеет размер больше, чем файл .ipa?

Когда я распространяю приложение через Crashlytics, приложение имеет размер около 115 МБ. Но когда я распространяю приложение через Xcode в файл ipa, после установки через iTunes приложение имеет 35 МБ.

Может ли кто-нибудь объяснить мне это поведение?

Приложение написано на Obj-C, но приложение имеет iOS-библиотеку графиков (на Swift).


person Andrei    schedule 29.01.2016    source источник


Ответы (1)


Я предполагаю, что вы используете Прореживание приложения, что означает, что вы создаете для нескольких архитектур ЦП, но при установке приложения используется только код архитектуры установочного устройства. Он предназначен для сокращения размера приложения на устройстве.

Удаление выполняется App Store, поэтому, если вы устанавливаете через Crashlytics, вы минуете App Store, и удаление не выполняется, отсюда и разница в размере установки.

person trojanfoe    schedule 29.01.2016
comment
Большое спасибо за ответ! Размер ресурсов составляет около 3 МБ. Как вы думаете, App Thinning может мне помочь? - person Andrei; 29.01.2016
comment
@Andrei Ну, во-первых, вам нужно подтвердить мое подозрение, что вы уже используете App Thinning. Проверьте, установлен ли ENABLE_BITCODE в настройках сборки (см. этот вопрос). - person trojanfoe; 29.01.2016
comment
@Andrei Хорошо, похоже, это причина разницы в размере. Это не имеет никакого отношения к Crashlytics, так как это очень мало увеличит размер, и, чтобы ответить на ваш вопрос, это не повлияет на размер ресурсов, поскольку эти ресурсы будут использоваться в версиях приложения приложения. - person trojanfoe; 29.01.2016
comment
Хорошо, большое спасибо! Но я так и не понял, что именно влияет на этот размер Crashlytics и ipa файла. Но я надеюсь, что в AppStore это приложение будет иметь размер менее 100 МБ. - person Andrei; 29.01.2016
comment
@ Андрей Я не верю, что это как-то связано с Crashlytics. Магазин приложений удалит ненужные архитектуры ЦП из кода перед его установкой (и, предположительно, при отображении размера приложения), поэтому все дело в истончении приложений и магазине приложений. - person trojanfoe; 29.01.2016
comment
Хорошо, но теперь я увидел размер приложения в настройках. И если мы установили через Crashlytics, то размер приложения составляет около 120 МБ. Но если я скидывал ipa через iTunes, то в настройках вижу около 30 МБ :) - person Andrei; 29.01.2016
comment
@Andrei Андрей Но когда вы устанавливаете через Crashlytics, вы обходите магазин приложений, не так ли? Это магазин приложений, который делает зачистку. - person trojanfoe; 29.01.2016
comment
@trojanfoe кажется, что магазин приложений удалит ненужные архитектуры ЦП из кода перед установкой, это причина ..? потому что crashlytics не делает то же самое. - person Ankit Srivastava; 29.01.2016
comment
@AnkitSrivastava Да. Я указал это в ответе. - person trojanfoe; 29.01.2016
comment
@Andrei Когда я включаю BITCODE, размер .ipa намного больше исходного. Может ли магазин приложений учитывать весь размер .ipa ИЛИ рассмотрит размер STRIP вниз. Пожалуйста, помогите и ответьте на этот вопрос: stackoverflow.com/questions/45440520/ - person Nitesh; 01.08.2017