Xcode - нет доступных dSYM для скачивания

Я хочу извлечь файл dSYM из, но когда я нажимаю "Загрузить dSYMs..." в Организаторе, я получаю следующее сообщение: "Нет доступных dSYM для загрузки".

Я использую Xcode 7.2 с рабочей областью, созданной Cocoapods 0.39.

Как я могу получить их?

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

8 ответов

Вот GIF о том, как получить DSYMS, сжать и загрузить в crashlytics/fabric

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

  1. Нажмите Окно> Органайзер
  2. Щелкните правой кнопкой мыши свое приложение> Показать в Finder.
  3. Щелкните правой кнопкой мыши первый файл.xcarchive> Показать содержимое пакета

Я думаю, что @Jordan верен - кажется, что iTunes Connect перекомпилирует приложения с битовым кодом, так что UUID изменяется, и dSYM внутри.xcarchive фактически не может использоваться для символизации приложения (это, кажется, новая разработка),

Вы можете загрузить правильный dSYM из iTunes Connect. Войдите, перейдите в Мои приложения, выберите свое приложение, затем нажмите на вкладку "Активность" вверху. Нажмите на соответствующую сборку, и, если приложение было отправлено с символами, вы должны увидеть опцию "Загрузить dSYM".

Получаемый вами файл называется dSYMs (без расширения), но на самом деле это zip-файл. Добавьте расширение.zip, разархивируйте, и вы найдете свои dSYM(s) внутри.

(Мне нужно было сделать это на этой неделе, так как Crashlytics жаловался на отсутствующий dSYM.)

На самом деле вы не можете загрузить файл dSYM из iTunesConnect сейчас. Есть другой способ получить этот файл.

Xcode -> Окно -> Органайзер -> Показать файл xcarchive в Finder -> Щелкните правой кнопкой мыши свой файл xcarchive -> Выберите "Показать содержимое пакета"

Вы можете увидеть свой файл dSYM сейчас.

битовый код должен быть включен

если вы хотите получить свой dSYM из iTunesConnect

  • Настройки сборки> Параметры сборки> Enable Bitcode > ДА
  • Выберите устройство "Универсальное устройство iOS" (или все, что работает)
  • Archive

При экспорте из архива

  • ПРОВЕРЬТЕ "включите символы приложения для своего приложения, чтобы получать символические журналы сбоев от Apple"
  • ПРОВЕРЬТЕ "включить битовый код"

Загрузить с помощью приложения Loader

После того, как ваше приложение было успешно загружено в iTunesConnect, вы можете перейти на iTunesConnect.com > MyApps > [ВАШЕ ПРИЛОЖЕНИЕ] > Активность> Все сборки> [ВАШ СТРОЙКА] > Общая информация> Включает символы> Загрузить dSYM

# xcode8.2.1 # osx10.12.6

Я нашел решение из https://twittercommunity.com/t/not-matching-uuid-bitcode/61000/2

"Crashlytics сообщал о пропавших dSYM с UUID, похожим на это: 83889b11dedd363c8e5ee56233bcc90c. Как я уже сказал, я следовал руководству7, но не смог найти этот UUID. Поэтому я зашел в iTunesConnect и сделал следующее:

  • Выберите приложение
  • Выберите вкладку Активность сверху
  • Выберите версию сборки, на которую жалуется Crashlytics
  • Нажмите синюю ссылку Скачать dSYM

Загруженный файл называется dSYM и не имеет расширения, но на самом деле это zip. Поэтому я добавил расширение zip и распаковал его. Внутри разархивированной папки я обнаружил множество файлов dSYM, один из которых назывался 83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM, который соответствовал UUID Crashlytics, сообщая об отсутствии (даже если отформатирован другим способом). Также обратите внимание, что этот файл не находится внутри xcarchive.

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

в моем случае это работает как чары

В моем случае я не смог найти файл dSYM своего приложения в папке Archives. Если вы столкнулись с этим, перейдите в " Настройки сборки проекта" > " Параметры сборки" > " Формат отладочной информации" и убедитесь, что для него задано значение DWARF с файлом dSYM.

Если папка dSYMs в содержимом пакета пуста (ответ Теда), попробуйте проверить:

  • Настройки сборки> Параметры сборки> Включить биткод установлен на ДА (ответ Джексонкра)
  • Настройки сборки> Параметры сборки> Формат отладочной информации установлен в DWARF с файлом dSYM (ответ daisura99)

Пожалуйста, проверьте их обоих.

Затем в папке show package content -> dSYMs, на этот раз вы должны что-то найти.

В моем случае это сработало.

Для последних обновлений вам не нужно загружать файлы dSYM вручную, автоматическая загрузка выполняется с помощью описанного ниже процесса.

Шаг 1: Перейти к цели-> Настройки сборки -> Поиск «формат отладочной информации». Установите для формата отладочной информации значение DWARF с файлом dSYM для всех ваших типов сборки.

Шаг 2: Перейти к этапам сборки -> Развернуть сценарий запуска и добавить сценарий и входные файлы

В сценарии:

      "${PODS_ROOT}/FirebaseCrashlytics/run"

Во входных файлах:

      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
    $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Пример скриншота:

Шаг 3: Наконец, добавьте еще один скрипт для загрузки файлов dSYM.

      ${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp 
      ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios 
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}

Здесь во 2-й строке скрипта ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios update с указанием пути вашего проекта означает имя схемы вашего приложения.

Если у вас возникла ошибка при запуске приложения, следуйте моему ответу Xcode 10.2.1 Команда PhaseScriptExecution не удалась с ненулевым кодом выхода

Ошибка:

       Command PhaseScriptExecution failed with a nonzero exit code
Другие вопросы по тегам