Вопрос об универсальном приложении для iOS

Я отправил свое приложение для iPad в Apple и получил одобрение. Теперь я хочу добавить поддержку iPhone в приложение.

Мой вопрос №1:

Q1. можно ли сделать приложение универсальным в этот момент после отправки?

Если да, у меня вопрос №2

Q2. мое приложение для iPhone точно такое же, как и для iPad, но только несколько представлений выглядят по-другому из-за настройки размера экрана. Что мне делать в XCode, чтобы указать, какой класс использует iPhone/iPad соответственно? Я могу построить их гладко, когда я разделил их на 2 проекта.

Спасибо.


person Bill Kary    schedule 10.06.2011    source источник


Ответы (4)


Вы можете изменить это же приложение и добавить поддержку другого устройства. вам необходимо повторно подать заявку.

Из вашего кода вы можете определить, на каком типе устройства он выполняется, и на основе этого вы можете загрузить соответствующий файл XiB для каждого контроллера представления.

person Dumb Code    schedule 10.06.2011

Да. Это легко. вам нужно создать универсальное приложение

Файл --- > новый проект -- > Windows-приложение

а затем вы выбираете тип продукта Универсальный. У вас есть отдельное представление для iphone и
ipad.

person Rams    schedule 10.06.2011

Вы можете идентифицировать устройство с помощью этого

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // iPad stuff
  }
  else {
    // iPhone/iPod stuff
  }

Большинство элементов пользовательского интерфейса можно переделать просто с помощью параметров автоматического изменения размера, но некоторые этого не делают.

Также для определенных классов, которых нет в iPhone/iPod (например, UISplitViewController), вы можете использовать NSClassFromString, который вернет класс объекта или nil, если его невозможно загрузить.

person Yorxxx    schedule 10.06.2011

Q1: Да, просто преобразуйте свой проект в универсальный и отправьте его с тем же идентификатором.

Q2: Достаточно просто преобразовать свой проект в универсальный, выполнив шаги здесь (http://useyourloaf.com/blog/2010/4/7/converting-to-a-universal-app-part-i.html). Основная идея состоит в том, чтобы извлечь бизнес-логику из контроллеров и использовать разные контроллеры для iPhone и iPad. Не пытайтесь реализовать это с помощью такого блока кода.

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
     // ipad goes here
}
else
{
     // other
}

примечание: если вы погуглите, вы найдете эту ссылку, не используйте ее, она устарела -- http://iphonedevelopment.blogspot.com/2010/04/converting-iphone-apps-to-universal.html

person Robert Childan    schedule 11.06.2011