Подтвердить что ты не робот

В журналах с ошибками iPhone говорится: "Версия:???"

Я разрабатываю приложение для iPhone и делаю рекламный пакет для бета-тестирования. Мои пользователи отправляют мне журналы сбоев, которые говорят это:

Identifier:      MyAppName
Version:         ??? (???)
Code Type:       ARM (Native)

Я не могу понять, как заменить эти вопросительные знаки на реальный номер версии. Я настроил свой Info.plist на включение CFBundleVersion и CFBundleShortVersionString, но это не помогло... журналы сбоев по-прежнему содержат только вопросительные знаки, а не номер версии, которую я ожидаю.

Как установить мою версию, чтобы она отображалась в журналах сбоев?

РЕДАКТИРОВАТЬ По-видимому, из-за возможной ошибки в iPhone CrashReporter нет возможности правильно установить "Версию". Но есть ли обходной путь? Другой способ вставить номер версии (например, номер сборки или номер версии SCM) в метаданные журнала сбоев?

4b9b3361

Ответ 1

Самый простой способ - сохранить UDID всех дистрибутивов, которые вы распространяете, и сравнить их с UDID в дампах аварий. UDID отличаются для каждой создаваемой вами сборки.

Чтобы получить UDID:

$ dwarfdump -u /path/to/MyApp.app/MyApp
UUID: 864F3D54-F165-3356-3292-2C9C48E97C55 (armv6) /path/to/MyApp.app/MyApp

И сравните его с crashlog:

Binary Images:
    0x1000 -    0x5ffff +MyApp armv6  <864F3D54F165335632922C9C48E97C55> /var/mobile/Applications/5FB3933B-348E-42D7-B99F-76DE284D2148/MyApp.app/MyApp

Ответ 2

Это похоже на все приложения для iPhone, в том числе на Apple. Вы можете просмотреть все журналы сбоев приложений iPhone для своих устройств в консоли:

ФАЙЛЫ/~/Library/Logs/CrashReporter/MobileDevice/...

Все в этом списке отображается с неизвестными версиями для меня, кроме MobileSafari, который имеет немного другую информацию:

OS Version:          iPhone OS 2.2.1 (5H11)
Date:                2009-02-15 02:19:06 -0600

Все другие приложения, в том числе приложения Apple Calendar и Mail, отображаются с вопросительными знаками для их номеров версий.

Похоже, что другие разработчики заметили то же самое. Вероятно, это ошибка в программе iPhone CrashReporter.

Ответ 3

Для adhoc и бета-тестирования просто измените свой идентификатор. MyAppNameV1.0b36 вместо MyAppName Очевидно, что это не сработает для вашей версии App Store, но вы получите бета-тестирование.

Обратите внимание, что для этого, вероятно, требуется специальный шаблон adcard, но их можно легко сделать через портал разработчика.