Инструмент проверки размера приложения iOS

Я работаю с iOS-приложением, которое использует как объективный c, так и быстрый код. В настоящее время размер приложения IPA стал настолько большим. Некоторые ресурсы включены, но могут не использоваться в финальной версии IPA. Я хочу найти, какой ресурс должен быть удален, а какой ресурс увеличивает размер моего приложения без необходимости. Мне интересно, есть ли какой-либо инструмент или профилировщик xcode для анализа и устранения этой проблемы.

благодаря

2 Solutions collect form web for “Инструмент проверки размера приложения iOS”

Прежде всего, используете ли вы последнюю версию Xcode? Xcode 8.3 создает двоичные файлы в 2-3 раза больше, чем Xcode 8.2, и Apple исправила эту ошибку в 8.3.1.

Кроме того, вы можете проверить On Demand Resources , который позволит вам загружать ваши тяжелые активы в App Store, но не входит в приложение, и когда пользователь загрузит ваше приложение, iOS автоматически загрузит необходимые ресурсы для правильной работы приложения.

Вы можете изменить файл .ipa чтобы иметь расширение .zip и распаковать его. Впоследствии вы можете использовать простой осмотр (например, Disk Inventory X ) файла unarchived .zip и посмотреть, что там происходит.

Кроме того, вероятно, вы смотрите на представление App Store .ipa , в котором будут содержаться необходимые файлы dSYM и другие разные данные.

Вы можете проверить размеры App Store .ipa для разных устройств, которые будут иметь приложение, выполнив следующие шаги в этом ответе .

И последнее, но не менее важное: ознакомьтесь с этими вопросами и ответами Apple по сокращению размера вашего приложения.

Пока что лучшим инструментом я нашел https://github.com/tinymind/LSUnusedResources

LSUnusedResources

Приложение Mac для поиска неиспользуемых изображений и ресурсов в проекте XCode. На него сильно влияет Jeffhodnett's Unused, но Unused очень медленный, и результаты не совсем правильные. Таким образом, он сделал некоторую оптимизацию производительности, скорость поиска быстрее, чем не используется.

Экспорт неиспользуемого списка ресурсов

Используйте этот инструмент и экспортируйте неиспользуемый / незарегистрированный список ресурсов в unused.txt

введите описание изображения здесь

Удалить ссылки из файла Xcode .pbxproj

Используйте приведенный ниже сценарий python для удаления ссылок из файла project.pbxproj,

 file = open("unused.txt","r") data = [line.rstrip('\n') for line in open("project.pbxproj", 'r')] newFile = open("project2.pbxproj","w") def removeLine(imageName): temp = data for line_s in temp: if line_s.find(imageName) != -1: data.remove(line_s) else: continue for line in file: if (len(line) > 5): tokens = line.split("/") len_a = len(tokens) imageName = tokens[len_a-1] removeLine(imageName.rstrip('\n')) for line in data: newFile.write(line) newFile.write('\n') 
  • Что нужно назвать идиоматическим кодом Swift, эквивалентным pythonic?
  • Почему изменение UITableview Y меняется в зависимости от позиции в TabBarController
  • Как достичь этого текста заполнителя исчезает символ по символу в UITextField
  • в проекте xcode с использованием .a файлов с быстрым файлом 'map' erorr не найден
  • ios: Spinner в пользовательской ячейке исчезает после прокрутки
  • Xcode 6 с быстрым супер медленным типом и автозаполнением
  • Непрерывная интеграция с сервером Xcode Bots
  • Вызов функции C ++ из объектного класса C
  • Swift - ошибка, связанная со странным кодом
  • Быстрая совместимость версий для библиотеки
  • Как перейти от UIAlertView (устаревший в iOS8)
  • Interesting Posts

    Как использовать регулярные выражения в Swift 3?

    Декодирование AirPlay Mirroring Protocol

    Какая хорошая машина для разработки iPhone?

    Есть ли способ защитить контент (изображения, звуки) в приложении для iPhone?

    Представление UIActivityViewController в Swift

    Совместное использование стека основных данных и данных между приложениями и расширениями в iOS8

    Почему существуют две папки Cordova www?

    iOS DidMoveToWindow Бесконечная петля

    Неизвестный класс <MyClass> в файле Interface Builder в Swift

    Как открыть инструменты для разработчиков в эмуляторе iOS на браузере?

    Устройство iPhone 3G «завершено», но приложение не загружается

    swift: показать другой контроллер представления при прокрутке вверх в первом представлении контроллера

    Изменение свойства magnificationFilter в трансформируемом слое не будет иметь никакого эффекта?

    Не удается использовать обычный поиск при использовании CNContactPickerViewController

    Как добавить символ в определенный индекс в строке в Swift

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.