То, как воспроизвести ошибки, сообщило против отправок приложения в магазин Mac
Q: У меня есть отчеты ошибки в приложении OS X, которое я представил App Store Mac, но я не могу воспроизвести его с XCode. Как я могу создать свое приложение так, чтобы оно соответствовало версию App Store Mac и воспроизвело проблему?
A: Для репродуцирования ошибки, которую видят Анализ Приложения Mac или пользователи необходимо быть уверены, что Вы тестируете точную сборку приложения, которое Вы представили App Store Mac в минимально привилегированной среде.
Тест с гостевой учетной записью
Наиболее распространенной причиной приложения для работы в тестовой среде, но сбое в Анализе Приложения Mac или в системе пользователя является тестовая среда, дающая приложение больше полномочий или включая дополнительные системные компоненты. Самый простой способ исключить это состоит в том, чтобы протестировать Ваше приложение на Гостевой учетной записи, идеально на новой установке OS, обозначенного в любом катастрофическом отказе или отчетах об ошибках.
Протестируйте точную сборку, которую Вы выпускаете
Если существуют ошибки или неопределенное поведение в Вашем коде, оптимизация компилятора может вызвать приложение, которое Вы представили App Store Mac для поведения по-другому, чем какие-либо тестовые сборки, сделанные с различными настройками сборки.
Используя функцию Archive XCode, можно быть уверены, что Вы тестируете ту же самую сборку своего приложения, которое Вы планируете опубликовать к App Store Mac.
Архивный поток операций сборки
Создать Заархивированную сборку, которую можно и протестировать и представить:
1) В XCode выбирают «Archive» из меню «Product» для архивации сборки приложения. Можно найти архив на вкладке Archives в окне Organizer.
Если Вы испытываете затруднения из-за этого шага, следуете за направлениями в Поиске и устранении неисправностей архивации приложения в XCode.
2) Разверните сборку путем выбора его в окне Organizer и нажатия «Distribute …»; тогда выберите «Export As» и «Application». Выберите идентификационные данные подписания разработки и сохраните в надлежащем расположении.
3) Выполните приложение на Гостевой учетной записи, идеально на новой установке OS, обозначенного в любом катастрофическом отказе или отчетах об ошибках.
Если у Вас есть проблемы при установке профиля настройки в системе тестирования, таким образом, можно выполнить тестовое приложение, попробуйте проблему, стреляющую в информацию в QA1759: Установка Производственных Профилей Настройки.
Для получения дополнительной информации о работе с заархивированными сборками, посмотрите раздел Distributing Applications «руководства пользователя Xcode 4».
Следующие шаги
Как только можно воспроизвести проблему, необходимо будет отладить ее. После запуска Вашей заархивированной сборки можно использовать отладчик XCode на нем путем выбора «Attach to Process» из меню продукта. Если проблема только воспроизводит в оптимизированной сборке, можно найти, что отладчик XCode иногда ведет себя странно. Это вызвано тем, что оптимизация компилятора мешает переводить назад от машинного кода до номера строки или имени переменной в исходном коде. Не бойтесь возвратиться «к пещерному человеку, отлаживающему» при помощи NSLog или printf если Вы не уверены, каково значение действительно. Для получения дополнительной информации о записи богатого NSLog операторы, посмотрите Улучшенный Входящий в систему Objective C.
Для получения дополнительной информации об отладке на уровне ассемблера посмотрите, что Mac OS X Отлаживает Волшебство.
Если Вы все еще неспособны воспроизвести катастрофический отказ, выполнить шаги в том, Как Соответствовать Отчет Катастрофического отказа к Сборке, чтобы проверить тестирование сборки, показавшей катастрофический отказ.
История версии документа
| Дата | Примечания |
|---|---|
| 24.01.2013 | Новый документ, описывающий, как создать и протестировать Ваше приложение OS X для репродуцирования проблем, за которыми только присматривают представление к App Store Mac |