iOS ArcGIS.framework слишком большой, поэтому большой размер .ipa - PullRequest
0 голосов
/ 23 мая 2018

Я поддерживаю приложение с ArcGIS.framework для iOS.Я обновляюсь с версии 10.2 до 100+.Я продлил это, надеясь, что в какой-то момент проблема размера приложения будет решена.Размер приложения с более новой платформой увеличился с 26 МБ до 360 МБ.Это не будет принято клиентами.Я искал хороший и простой способ уменьшения размера приложения без использования прореживания приложения, для которого требуется включить битовый код, который по некоторым другим причинам я не могу включить.

Удаление архитектур x86_64 и i386 не уменьшаетразмер рамки так много.

Существуют ли флаги, другие настройки компилятора или ссылок, которые мы можем предоставить Xcode во время компиляции?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Добавление фреймворка arcgis вручную, а не с какао-бобом поможет уменьшить его окончательный размер для загрузки на устройствах примерно на 70 МБ. Вот как это сделать

  1. Загрузить SDK из https://developers.arcgis.com/downloads/apis-and-sdks
  2. Установите файл .pkg, он будет установлен по умолчанию в папку $ {HOME} / Library.
  3. Откройте ваш проект на xcode и перетащите $ {HOME} / Library / SDKs / ArcGIS/iOS/Frameworks/Static/ArcGIS.framework в папку вашего фреймворка вашего проекта через xcode
  4. Добавить фреймворк в пути поиска вашего проекта https://developers.arcgis.com/ios/latest/swift/guide/install.htm#ESRI_SECTION3_2304BFA5F5A14A679B5A92B2DDEC859E

Обратите внимание, что ipaразмер может не отличаться по размеру, но окончательный размер загружаемого приложения будет меньше примерно на 70 МБ.

0 голосов
/ 30 мая 2018

Вы можете воспользоваться App Thinning без необходимости включать битовый код, и если вы ориентируетесь на iOS 9 и выше, вы сможете увидеть только Thinned .ipa, развернутый на любом устройстве (хотя Universal .ipa будет создан и загруженв iTunes Connect).

На практике это означает, что если вы используете Runtime 100.x, ваше приложение будет использовать разбавление приложения.

Вот как мы оцениваем это, чтобы увидеть, чем закончитсяна устройстве iOS 9+ (требуется для Runtime 100.2):

  1. В меню Xcode выберите Product -> Archive (убедитесь, что у вас выбрано универсальное устройство iOS или фактическое устройство, выбранное какцелевое устройство).
  2. После завершения откроется окно «Органайзер», и вы сможете увидеть последний архив на вкладке «Архивы».
  3. Выберите архив и нажмите ExportКнопка справа.
  4. Выберите Development и нажмите Далее.
  5. Выберите команду, если будет предложено.
  6. В меню App Thinning выберите конкретное устройство и нажмитеДалее.
  7. Выберите вашметод подписи и нажмите Далее.
  8. Просмотрите сводку и нажмите Экспорт.

В результате вы получите папку, содержащую прореженный .ipa и некоторые отчеты о процессе прореживания, в том числекакое использование ожидать на устройстве.

Например, вот App Thinning Size Report.txt для приложения Runtime, предназначенного для iPhone 8 (с отключенным битовым кодом):

App Thinning Size Report for All Variants of MyRuntime100App

Variant: MyRuntime100App-iPhone 8.ipa
Supported devices: iPhone 8
App + On Demand Resources size: 31 MB compressed, 89.7 MB uncompressed
App size: 31 MB compressed, 89.7 MB uncompressed
On Demand Resources size: Zero KB compressed, Zero KB uncompressed

Так что вышеприложение будет загружаться по беспроводной сети 31 МБ и будет занимать 89,7 МБ на устройстве (и этот пример включает пакет мобильной карты 19,8 МБ).

Надеюсь, это поможет.

Я также призываю вас публиковать будущие вопросы на нашем форуме iOS Runtime SDK , если можете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...