В журналах с ошибками iPhone говорится: "Версия:???"
Я разрабатываю приложение для iPhone и делаю рекламный пакет для бета-тестирования. Мои пользователи отправляют мне журналы сбоев, которые говорят это:
Identifier: MyAppName
Version: ??? (???)
Code Type: ARM (Native)
Я не могу понять, как заменить эти вопросительные знаки на реальный номер версии. Я настроил свой Info.plist на включение CFBundleVersion и CFBundleShortVersionString, но это не помогло... журналы сбоев по-прежнему содержат только вопросительные знаки, а не номер версии, которую я ожидаю.
Как установить мою версию, чтобы она отображалась в журналах сбоев?
РЕДАКТИРОВАТЬ По-видимому, из-за возможной ошибки в iPhone CrashReporter нет возможности правильно установить "Версию". Но есть ли обходной путь? Другой способ вставить номер версии (например, номер сборки или номер версии SCM) в метаданные журнала сбоев?
Ответы
Ответ 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, но их можно легко сделать через портал разработчика.