Я только что отправил это в службу поддержки Apple, но мне интересно, сталкивался ли кто-нибудь здесь с чем-то подобным.
РЕЗЮМЕ: мое приложение iphone аварийно завершает работу при загрузке из магазина приложений iTunes или из специального дистрибутива, но не «вылетает» при запуске в режиме отладки на симуляторе или при включении мой iPod
ДЕТАЛИ: Приложение содержит довольно большой файл базы данных sqlite (~ 180 мегабайт без сжатия, 56 мегабайт сжатый). Это может быть актуально.
При запуске приложение должно скопировать базу данных (при необходимости). После этого пользователю должно быть представлено табличное представление, содержащее приблизительно 6000 строк. Информация, представленная в этих строках, получена из чтения таблицы в вышеупомянутой базе данных.
Это все работает правильно, когда я запускаю приложение в симуляторе iPhone , а также , когда я запускаю приложение в режиме отладки на моем iPod .
Приложение было одобрено Apple. Однако когда пользователи начали загружать приложение через iTunes, я начал получать электронные письма, в которых говорилось, что в UITableView не было никакой информации. Чтобы исследовать, я загрузил копию приложения из магазина приложений и увидел похожий результат (то есть, отображается UITableView, но строки пусты).
Я считаю, что могу воспроизвести проблему с помощью специального дистрибутива моего приложения.
Специальный дистрибутив ведет себя аналогично (то есть не показывает строк в UITableView) с загрузкой из магазина приложений. В частности, я сделал следующее несколько раз (я удаляю и переустанавливаю приложение каждый раз).
- добавить мою специальную подготовку
сертификат для iTunes
- добавить сборку моего специального приложения в iTunes
- синхронизировать мой iPod Touch с iTunes
- запустить мое специальное приложение
- Приложение, кажется, всегда падает при первом запуске (т.е. на секунду появляется заставка, а затем я вижу домашний экран моего iPod Touch)
- секунда и последующие запуски специального приложения не дают сбоя, но UITableView пуст.
- Ничего подобного не происходит, когда я запускаю приложение на симуляторе или когда я развертываю в режиме разработки / отладки на том же iPod.
Я пытался просмотреть журналы сбоев, связанные с первоначальным сбоем приложения (см. Шаг 5 выше), но в этот момент журнал сбоев не создавался. ОДНАКО, журнал сбоев создается , когда я синхронизирую iTunes с iPod Touch, но он также может быть написан на польском языке.
Таким образом, создается впечатление, что рецензенты из магазина приложений, которые одобрили мое приложение, изучали только поведение приложения с помощью симулятора и / или в режиме разработки / отладки. Возможно, проблема связана с большим размером файла базы данных, но это полная спекуляция с моей стороны. Насколько я понимаю, не должно быть ограничений на размер приложения или размер базы данных около 180 мегабайт. Это также не обязательно объясняет, почему приложение работает в режиме отладки / разработки.
Кто-нибудь видел что-нибудь подобное?