Как сделать универсальное приложение для iOS

Моя версия xcode - 3.2.5.

Мое приложение создано на iPhone. Я хочу, чтобы то, что я написал для iPhone, работало и на iPad. Как над этим работать?

Помогите другу, как создать приложение такого типа?


person Rocky    schedule 01.11.2011    source источник
comment
возможный дубликат универсального приложения   -  person Brad Larson    schedule 18.11.2011


Ответы (5)


Первый шаг: обновите свой Xcode. Во-вторых: откройте свое приложение и измените целевые «Устройства» на «Универсальные». Xcode может предложить вам создать XIB для iPad путем автоматического изменения размера - сделайте это, если можете, в противном случае создайте XIB для iPad. Я обычно считаю, что лучше иметь базовый класс, а затем два подкласса, которые содержат переопределения функциональности - например,

@interface ViewController : UIViewController
@end

@interface ViewController_iPad : ViewController
@end

@interface ViewController_iPhone : ViewController
@end
person Benjie    schedule 01.11.2011
comment
+1 за предложение наследования. Хотя в моем случае я мог бы реализовать то же самое, не обновляя свой xcode. - person Naved; 01.11.2011
comment
@Benjie Gillam не могли бы вы объяснить более подробно, пожалуйста, я думаю, что ur ans - это работа для меня, друг, которого я никогда не создавал до этого типа приложения, пожалуйста, помогите мне подробно, если вы можете - person Rocky; 01.11.2011
comment
@Naved Обновление Xcode, на мой взгляд, дает вам гораздо лучшие инструменты для работы с универсальными приложениями. - person Benjie; 01.11.2011
comment
@Rocky Пожалуйста, дайте мне знать, на какой части вы застряли? - person Benjie; 01.11.2011
comment
@BenjieGillam, как начать делать это, я понятия не имею об этом, могу ли вы сказать с начальной точки, как сделать автоматическое изменение размера и создать xibs для ipad в том же приложении, которое работает для iphone - person Rocky; 01.11.2011
comment
В Xcode найдите целевые настройки для своего приложения, найдите запись «Устройства» и измените раскрывающийся список на «Универсальный». - person Benjie; 01.11.2011
comment
Вот лучший способ сделать это: stackoverflow.com/questions/5580935/ - person Benjie; 01.11.2011

Чтобы сделать ваши приложения универсальными для таких устройств, как iPhone и iPad, вам необходимо в большинстве случаев дублировать код. Если вы используете XIB, делайте это как для iPhone, так и для iPad. При необходимости используйте проверки IDIOM, чтобы избежать создания повторяющихся классов (т. Е. Классов, содержащих повторяющуюся логику).

Подробнее см. По этой ссылке Как сделать универсальные приложения

person Naved    schedule 01.11.2011
comment
где я должен поставить эти проверки idom, можете ли вы мне помочь в этом и что с этим делать, пожалуйста, скажите мне - person Rocky; 01.11.2011
comment
Вы можете выбрать отображение (UI) для iPhone или iPad в файле .m. Как if (UI_USER_INTERFACE_IDIOM () == UIUserInterfaceIdiomPad). - person Naved; 01.11.2011
comment
Можете ли вы предоставить пример кода для этого только для helloworld, например, код, например, для запуска на обоих iphon, ipad - person Rocky; 01.11.2011
comment
Думаю, если вы перейдете по ссылке, как в моем ответе, вы поймете идею. - person Naved; 01.11.2011

Недавно мы использовали этот шаблон, и он нам просто понравился! Позволяет избежать проверок IDIOM, а наследование позволяет повторно использовать код.

person Manali    schedule 01.11.2011
comment
Это выглядит действительно интересно, но как это работает? Я не вижу кода, указывающего на то, что нужно следовать кодовым путям iPhone или iPad. Есть ли где-нибудь документация по этому подходу? Спасибо. - person richever; 03.05.2012
comment
В файле info.plist вы найдете записи для файлов mainwindow.xib iphone и ipad. Во время выполнения ОС решает, что загружать, в зависимости от доступной платформы. Я не могу смотреть на код прямо сейчас, но полагаю, что у него есть два делегата приложения для конкретной платформы, происходящие от одного общего. - person Manali; 03.05.2012

http://useyourloaf.com/blog/2010/4/7/converting-to-a-universal-app-part-i.html

person ader    schedule 02.11.2011
comment
Хотя теоретически это может дать ответ на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки. - person Bill the Lizard; 03.11.2011
comment
Понял. Но люди также должны попробовать поискать, прежде чем задавать вопросы. Может быть, для меня было бы лучше не отвечать много раз на тривиальные, прежде чем задавать вопросы. - person ader; 07.11.2011

Чтобы создать универсальное приложение для iPhone и iPad, я настоятельно рекомендую отказаться от IB / XIB / Storyboard, предпочитаю создавать любые компоненты пользовательского интерфейса напрямую с помощью кода. Мы можем использовать макрос, чтобы проверить, какое устройство используется, и просто использовать тот же макрос для полноэкранного режима и т. Д. Я знаю, что некоторые люди предпочтут IB, потому что легко увидеть, что они создали, но это потребует некоторых усилий для другой версии XIB.

person Forrest    schedule 07.06.2012