Сбой отправки приложения, но ошибка не может быть воспроизведена в режиме отладки в Corona SDK

#ios #coronasdk #appstore-approval #release-builds

#iOS #coronasdk #appstore -одобрение #релиз-сборки

Вопрос:

У нас возникла эта странная проблема, связанная с отправкой нашего приложения на iOS. В основном, когда мы создаем (используя профиль разработчика) и тестируем (с помощью тестового полета), все работает нормально, как и ожидалось, даже с самыми обширными тестовыми примерами.

Но при сборке (с использованием профиля распространения iOS) и отправке в Apple… в процессе проверки он не проходит из-за ошибки, которую мы НЕ МОЖЕМ ВОСПРОИЗВЕСТИ.

Итак, я предполагаю, что ошибка / ошибка возникает только в сборке выпуска (возможно, из-за оптимизации кода) .. но я даже не знаю, где и что искать, если я не могу воспроизвести?

До сих пор я отправлял приложение дважды (с возможным предположением и исправлением), и оба раза оно возвращалось с той же ошибкой.

Как мне протестировать или даже просмотреть журналы с помощью сборки выпуска? (до сих пор DTS был бесполезен в предоставлении какой-либо полезной информации)

/ ОТРЕДАКТИРОВАНО/

Немного больше справочной информации: это игровое приложение, созданное с помощью Corona SDK. Если вы знакомы с corona sdk, то вы знаете, что такое сцена.

Итак, в основном,

  1. У меня есть «домашняя сцена», у меня есть кнопка «открыть» на моей сцене.

  2. Я нажимаю на кнопку открытия, появляется счетчик -> приложение считывает файл json -> переходит к следующей сцене.

Что Apple видит в процессе проверки: при нажатии на кнопку «открыть» на «домашней сцене» появляется счетчик, и он больше ничего не делает. Следовательно, приложение не проходит процесс проверки Apple.

Пожалуйста, обратите внимание: это происходит только в режиме выпуска (который создается с помощью профиля распространения), а не в режиме отладки (который создается с помощью профиля подготовки) … поэтому я не могу воспроизвести.

Комментарии:

1. Вы можете попытаться предоставить некоторые подробности о том, что происходит не так, когда «это сбой».

2. Apple протестирует ваше приложение в режиме выпуска, чтобы вы могли проверить, не произойдет ли сбой в режиме выпуска. (также вы можете включить объекты Zombie для проверки наличия каких-либо результатов)

3. ПРИВЕТ, Z.Y, спасибо за ответ. К сожалению, я не понимаю, что вы предлагаете. Как я могу протестировать .app или .iap, созданные в режиме выпуска? Я не знаю о такой процедуре. Возможно, вы сможете пролить некоторый свет на это. Пожалуйста, обратите внимание: приложение было создано с использованием Corona SDK, а не XCode.

4. Спасибо, Джефф. Я добавил дополнительную информацию в описание вопроса.

Ответ №1:

Для начала, если ваше приложение было отклонено из-за сбоя, Apple отправит вам журналы сбоев. И они будут разбивать его несколько раз и отправлять вам несколько журналов.

Итак, есть два способа просмотра журналов сбоев для версий сборки приложений.

  1. На вашем устройстве откройте Настройки. Выберите Общие> О программе> Диагностика и использование> Диагностика и данные об использовании. Это будет список файлов. Некоторые из них должны быть вашими журналами сбоев.
  2. Если вы подключите телефон к компьютеру после сбоя, журналы сбоев будут перенесены на компьютер.

Местоположение зависит от операционной системы.

  • В Mac OSX: ~/Library/Logs/CrashReporter/MobileDevice/<device name>/

  • В Win XP: C:Documents and SettingsApplication DataApple
    computerLogsCrashReporter<device name>

  • В Win 7: C:UsersAppDataRoamingApple
    computerLogsCrashReporterMobileDevice<device name>

И, наконец, в вашей IDE почти наверняка есть способ просмотра журналов сбоев на устройстве. Я не знаком ни с какими IDE, отличными от Xcode, для разработки приложений iOS, поэтому я не могу дать никаких конкретных советов, но посмотрите вокруг. Конечно, что-то есть.

Комментарии:

1. nhgrif .. спасибо за ваш ответ. Как я уже упоминал в описании проблемы, ошибка не может быть воспроизведена в режиме отладки, использующем provisioning profile, это происходит только в режиме выпуска, когда Apple просматривает его. Поэтому я не могу получить какой-либо журнал, если Apple не предоставит его (чего нет). Я не могу установить версию приложения, созданную на устройстве, потому что она собрана с профилем распространения. Если есть, можете ли вы, пожалуйста, указать шаги для этого?

2. Мой ответ не имеет ничего общего с режимом отладки, только с режимом выпуска. Вы можете установить релизную версию приложения с помощью iTunes.

3. спасибо @nhgrif. Я переделал дистрибутив adhoc и снова создал свое приложение и заглянул в консоль устройства из XCode Organizer. Это выявило ошибку. По сути, он молча не загружает одно из изображений. Я сказал молча, потому что это не сбой, просто не переход к следующей сцене. Странно. Я сталкивался с этим раньше, но в прошлый раз это было не так тихо.

4. Для записи .. apple не отправляла никаких журналов сбоев, возможно, потому, что приложение никогда не зависало. Вот почему у меня возникли трудности с тем, где или в какой момент происходит сбой, как я описал в своем вопросе.

5. Я думал, вы сказали, что отправили в app Store, а Apple отклонила из-за сбоя.

Ответ №2:

Вы также должны попросить Apple отправить вам журнал консоли после запуска. Проблемы, скорее всего, появятся там.

Во-вторых, вы также должны протестировать, используя профиль распространения AdHoc.