Приложение iPhone SDK 3/4 не будет работать на устройстве iPhone 2.x даже с целью развертывания, установленным на 2.0

StackOverflow https://stackoverflow.com/questions/3009498

Вопрос

Я знаю о разнице между базовыми / активными SDK и целью развертывания. У меня есть базовый SDK, установленный в 4.0 и целевой показатель развертывания на 2,0. Я не использую какие-либо APIS Post 2.x, условный или иным образом. Поскольку я не могу отлаживать на устройстве 2.x, после его создания, я использую утилиту конфигурации iPhone для установки приложения на устройстве, которое он просто отлично. Проблема в том, что она не работает! Я просто получаю пустой экран. Главное окно никогда не подходит!

Теперь, прежде чем спросить ...

  1. У меня была эта же проблема с iPhone SDK 3.x. Я обновил до 4.x, надеясь, что это будет решено. Это не было.

  2. Да, профиль обеспечения установлен. (Не удалось установить приложение, если это не так.)

  3. Это же компилированное приложение работает нормально на устройств 3.x. То же самое с 4.x устройствами. Просто не 2.x устройства.

  4. Опять же, нет, я не использую какие-либо SDKS Post-2.x. Чтобы доказать это, я создал совершенно новое окно приложение из диалога «Новый проект», и только изменения, которые я сделал, был цветным цветом окна (чтобы доказать загруженный XIB), и я устанавливаю цель развертывания до 2,0 ( Это все еще скомпилировано против SDK 4.x.) Опять же, он работает нормально на устройствах 3.x или 4.x, но просто черный, пустой экран на устройств 2.x.

Я пробовал это на трех отдельных 2-х устройствах включена один свеже восстановленный. Я использовал три отдельных машины Dev (MacBook Pro с помощью 3.x SDK, MacBook Pro с 4x SDK и Mac Pro с 3.x SDK.) В тот же результат каждый раз.

Я втухнул.

Тот факт, что даже немодифицированный проект не работает, действительно меня путают. Может ли это быть файлом XIB? Они изменили формат от 2.x к чему-то новее в 3.x SDK? Если это так, как я могу вернуть его обратно в 2.x. (Опять же, это просто полное догадка.) Но я действительно втухнул!

Это было полезно?

Решение 3

Оказывается, яблоко сделал разрывное изменение (или точнее, «исправлять» изменение), на которых они не прокомментировали. В частности, наше приложение не было явно установленным главным окном видимым либо через код или через опцию «Show in Launch» в IB. Но ... в одной версии SDK, время выполнения, увидев ничего устанавливающего, но нуждающийся в том, чтобы отобразить что-то, он неявно показал окно в основном файле XIB. Тем не менее, новые (и более старые) SDKS (на самом деле runtimes) не имели этого неявного поведения, поэтому, когда наш код не видел явно показать окно, мы только что получили пустой экран.

Таким образом, мы просто проверили опцию «Show in Launch» в IB и работали. Сделано и сделано!

Другие советы

Вы проверили ApplicationDIDFINISHLAUCKING: Опции: Вызов в свой приложение делегат?

Параметры: Параметр был добавлен в 3.0 и отсутствует в каком-либо из моего моего кода Pre-3.0, хотя более ранняя форма все еще работает.

Словарь по опциям: используется для передачи информации в ваше приложение, например, «Я был начал с URL-адрес от Safari» и т. Д.

Если вы ожидаете запустить на 2.0, вы, вероятно, должны изменить это обратно в исходное «applicationDIDFINISHLAUCHING:».

2.x полностью устарел для публикации в App Store. Вы должны быть в состоянии установить его на устройстве, используя предыдущую версию XCode, но это об этом. Больше информации в моем сообществе Wiki здесь:

Установите XCode 3.2.3 W / iPhone SDK 4, получите «Базовый SDK отсутствует», не вижу других SDKS

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top