#iphone #objective-c #ipad #universal-binary
#iPhone #objective-c #iPad #универсальный-двоичный
Вопрос:
Я отправил свое приложение для iPad в Apple и получил одобрение. Теперь я хочу добавить поддержку iPhone в приложение.
Мой вопрос № 1 заключается в:
Q1. возможно ли сделать приложение универсальным в этот момент после отправки?
Если да, у меня есть вопрос № 2
Q2. мое приложение для iPhone точно такое же, как и для iPad, но только несколько просмотров выглядят по-другому из-за настройки размера экрана. Что мне следует сделать в XCode, чтобы указать, какой класс iPhone / iPad использует соответственно? Я могу создавать их плавно, когда разделяю их на 2 проекта.
Спасибо.
Ответ №1:
Вы можете модифицировать то же приложение и добавить поддержку другого устройства. вам необходимо повторно отправить приложение еще раз.
С помощью with в вашем коде вы можете определить, на каком типе устройства оно выполняется, и на основе этого вы можете загрузить соответствующий файл XIB для каждого контроллера представления.
Ответ №2:
ДА.Это просто. вы должны создать универсальное приложение
Файл—> новый проект-> Приложение на базе Windows
затем вы выбираете тип продукта Универсальный, и у вас появляется отдельный вид для iphone, а также
ipad
Ответ №3:
Вы можете идентифицировать устройство с помощью этого
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// iPad stuff
}
else {
// iPhone/iPod stuff
}
Большую часть пользовательского интерфейса можно переделать просто с помощью параметров автоматического изменения размера, но некоторые этого не делают.
Также для определенных классов, которые не существуют в iPhone / iPod (например, UISplitViewController), вы можете использовать NSClassFromString, который вернет класс объекта или nil, если не может быть загружен.
Ответ №4:
Q1: Да, просто преобразуйте свой проект в universal и отправьте его с тем же идентификатором.
Q2: Довольно просто преобразовать свой проект в universal, выполнив действия, приведенные здесь (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