У меня есть это приложение, изначально написанное для iOS 2.x.
Недавно мне нужно было добавить небольшую функцию, и я был вынужден сделать приложение, которое без проблем выдержало бы множество обновлений iOS, совместимо с iOS5.
Только после тестирования и отправки приложения я получил отчеты от 300.000+ пользователей, что приложение не работает на iPod Touch второго поколения с iOS 4.2.1. Я тестировал на iPod touch первого поколения, и он работал нормально.
Интересно, что теперь, когда я наконец нашел второй iPod, в режиме отладки на устройстве, приложение просто работает нормально. Только когда я синхронизирую AdHoc через iTunes, у меня появляются те же симптомы, что и у тех, кто загружал приложение через App Store: UIImageView загружает изображение, но через несколько секунд изображение просто исчезает, оставляя меня с пустым экраном.
Каков наилучший способ выяснить, где в коде что-то идет не так?
Спасибо за вашу помощь
ОБНОВЛЕНИЕ: Я попросил Apple помочь мне и здесь. Это пока что соответствующая часть корреспонденции:
"Обычно проблемы, которые появляются только в магазине или во время просмотра, вызваны различиями в том, как Xcode сконфигурирован для сборки вашего приложения в Debug vs Release (или конфигурации сборки, используемой для отправки в хранилище).
Чтобы убедиться, что вы тестируете точную сборку приложения, отправляемого в App Store, вы можете создать заархивированную сборку, которую можно тестировать и отправлять. В Xcode 4 Product -> Archive архивирует сборку вашего приложения в окне Organizer.
Вы можете протестировать эту сборку, используя «Совместное использование…» с самим собой в качестве IPA, из окна Organizer в Xcode и затем установив IPA с помощью iTunes.
(Только к вашему сведению: «Поделиться…». Заархивированная сборка, которую вы устанавливаете с помощью iTunes, является предпочтительным способом тестирования приложения. XCode устанавливает приложения немного по-другому, чем App Store. Это хорошо во время разработки, потому что это быстрее. Но для окончательного тестирования установка через iTunes ближе всего к тому, что испытает пользователь.) "
и
«Поэтому я бы посоветовал размещать утверждения в тех местах вашего кода, которые вы« считаете »подозрительными. Поместите несколько операторов NSLog в ваш код, отслеживая прогресс и, возможно, выводя информацию, такую как размер кадра вашего UIImageView и т. Д.» *
Хотя я понимаю, что это, по-видимому, единственный путь, я немного шокирован значением всего этого:
Как разработчик, вы должны владеть и тестировать любую комбинацию устройства и операционной системы или просто бросить ее своим клиентам и посмотреть, что пойдет не так.