Распространял билд через TestFlight. Специальная сборка отлично работает на iPhone 5, но откроется, а затем вылетит на iPhone 4 и 4s. Если скомпилирован и запущен через Xcode (непосредственно на телефон с профилем подготовки разработчика), сборка будет работать как на iPhone 5, так и на 4s и 4.
Кто-нибудь сталкивался с этим?
1 ответ
Первое, что нужно сделать для отладки ошибок testflight (или любых других, если на то пошло), - это получить журнал ошибок, прочитать и понять сообщение об ошибке. В этом случае ошибка:
failed to launch in time
Если ваше приложение не запускается (я считаю, что это, по сути, возврат из метода application:DidFinishLaunchingWithOptions:
) в течение определенного времени, оно прекращается системой. Либо у вас бесконечный цикл, либо вы слишком много пытаетесь сделать с помощью этого метода. В этом случае приложение кэширует изображения этим методом, который, очевидно, достаточно быстр, чтобы завершить работу вовремя на iPhone 5, но не раньше. Решение состоит в том, чтобы поставить вызов dispatch_async
в очередь (см. Dispatch Queues ), который кэширует изображения в фоновом режиме и быстро возвращается из метода запуска приложения.
Похожие вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].
application:DidFinishLaunchingWithOptions:
) в течение определенного времени, оно прекращается системой. Либо у вас бесконечный цикл, либо вы слишком много пытаетесь сделать с помощью этого метода. Возможно, у вас есть ошибка, которая влияет только на новые (чистые) установки, попробуйте удалить приложение и повторите попытку на своем телефоне / симуляторе.dispatch_async
).