2010-04-09 3 views
1

Так что я нахожу этот процесс универсализации приложения для iPhone, чтобы быть большой головной болью! Я один в этом? Надеюсь, что нет. Во всяком случае, мой вопрос касается файлов .xib для моего универсального приложения.iPhone SDK 3.2 Универсальная проблема с файлами .xib

У меня было приложение для iPhone OS 3.1, готовое сделать универсальный переключатель. Я подошел к Project/Upgrade Current Target для iPad/Universal Application, и, предположительно, у моего приложения были все необходимые настройки iPad ...

Итак, когда я пошел тестировать его в 3.2 SDK, экран был большим, что означает панель инструментов была правильно настроена для iPad, но изображение, которое отображалось, предназначалось для ОС 3.1, а это значит, что это было мало. Поэтому я пошел в папку iPad Source, изменил имя моего файла MainViewController.xib на MainViewController-iPad.xib и вставил большее изображение, которое я подготовил для iPad, и он все еще не работает правильно.

Затем я зашел в файл MainViewController.m и изменил ссылку на nib от MainViewController до MainViewController-iPad, и это сработало! Моя единственная забота заключается в том, что, поскольку я должен был «жестко закодировать» его или заставить его читать из моего файла -iPad, это собирается представить проблемы для версии OS3.1? Я не могу вернуться и проверить версию 3.1 по какой-то причине, опция была удалена из меню Active SDK ...

Если есть кто-то, кто испытал это, или имеет представление о том, что я делая неправду, ваша помощь была бы весьма признательна. Спасибо!

ответ

2

Ваш Info.plist должен иметь ключ NSMainNibFile ~ ipad, который определяет, какой nib будет загружаться для iPad. Если вы загрузили свой файл nib вручную, то это было бы исправлено для конкретного файла nib, и вы должны переписать его для обнаружения iPad/iPhone и загрузить правый наконечник.

1

Продолжая рассказ об этом paull ... В группе «Ресурсы» откройте файл «Info.plist», используя встроенный редактор/просмотрщик. Будет строка с надписью «Основное имя файла nib». Перейдите на вкладку «+» с правой стороны (столбец «Клавиша») и выберите «Основное имя файла основного файла (IPad)» и установите для значения имя ассоциированного элемента.

+0

Это должно было быть установлено с помощью Upgrade Target - но стоит проверить. –

+0

Я не знал о выборе меню «Upgrade Target» ... и посмотрел на него сейчас, некоторые из моих проектов iphone (которые я недавно не коснулся), которые почему-то затенены ... a ha, необходимо выбрать сам объект. ОК. В противном случае, зная об этом (спасибо, что указали), его не слишком плохо модифицировать информацию о проекте и plist. Я ранее создал универсальное приложение, а затем просмотрел все различия между файлами и проектами для этих двух. – 2010-04-11 00:22:32

1

Просто задайте вопрос, есть ли у этой проблемы даже ПОСЛЕ того, как нажать на цель, выполнить чистую сборку, проверить все базовые параметры SDK и целевые настройки развертывания в информации и т. Д. Потому что я сделал все это (и пара полностью очищает плюс exit xcode и т. д.), и я все еще получаю greyed на обоих вариантах iPad.

Смежные вопросы