Приложение iPhone SDK 3/4 не будет работать на устройстве iPhone 2.x даже с целью развертывания 2.0 - PullRequest
0 голосов
/ 10 июня 2010

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

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

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

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

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

  4. Опять же, нет, я не использую SDK после 2.x.Чтобы доказать это, я создал совершенно новое оконное приложение из диалогового окна «Новый проект», и единственными изменениями, которые я сделал, был цвет фона окна (для подтверждения загрузки XIB), и я установил цель развертывания на 2,0Тем не менее, он по-прежнему скомпилирован с использованием 4.x SDK.) Опять же, он отлично работает на устройствах 3.x или 4.x, но просто черный, пустой экран на устройствах 2.x.1022 * Я пробовал это на трех отдельных устройствах 2.x, включая одно недавно восстановленное.Я использовал три отдельных устройства разработки (MacBook Pro с 3.x SDK, MacBook Pro с 4.x SDK и Mac Pro с 3.x SDK.) Каждый раз один и тот же результат.

    IЯ в замешательстве.

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

Ответы [ 3 ]

0 голосов
/ 06 июля 2010

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

Установите xCode 3.2.3 с iPhone SDK 4, получите «Отсутствует базовый SDK», не можете увидеть другие SDK

0 голосов
/ 20 сентября 2010

Оказывается, Apple действительно внесла серьезное изменение (или, точнее, «исправление»), которое они не прокомментировали.В частности, наше приложение не устанавливало явное отображение главного окна ни через код, ни через опцию «Показать при запуске» в IB.НО ... в одной версии SDK среда выполнения, не видя ничего установленного, но нуждаясь в отображении чего-либо, неявно отображала окно в основном файле XIB.Тем не менее, более новые (и более старые) SDK (на самом деле) не имели такого неявного поведения, поэтому, когда наш код не отображал окно явно, мы просто получили пустой экран.Опция «Показать при запуске» в IB, и это сработало.Готово и сделано!

0 голосов
/ 12 июня 2010

Вы проверили applicationDidFinishLaunching: options: вызов делегата приложения?

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

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

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

...