Кой е най-добрият начин да създадете приложение за iPhone и iPad едновременно?

Имам приложение за iPhone, което бих искал да пренеса към iPad, но бих искал да има възможно най-малко дублиране.

Как хората обикновено правят това?

В xcode можете ли да имате различни цели за iPhone и iPad и може би да направите някои предпроцесорни проверки? Или е най-добре просто да имате общо два отделни проекта?

Забележете, НЕ говоря за стартиране на приложението за iPhone на iPad, имам предвид създаване на родно приложение 3.2...

РЕДАКТИРАНЕ

Така че изглежда, че създаването на универсално приложение е правилният начин:

http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/StartingYourProject/StartingYourProject.html#//apple_ref/doc/uid/TP40009370-CH9-SW8

Но това, което все още не разбирам, е как да избирам различни NIB файлове въз основа на текущото ви внедряване???

Благодаря много


person Mark    schedule 03.09.2010    source източник
comment
Търсите опцията 2x? Не мисля, че можете иначе да го прекодирате. Мисля, че търсих това преди известно време, защото използвах Cocos2d и открих, че не мога да го направя, защото Cocos2d е роден за iPhone.   -  person    schedule 03.09.2010
comment
Искате ли да пренесете към отделно HD приложение за iPad или да създадете универсално приложение, което да работи и на двете?   -  person hotpaw2    schedule 03.09.2010
comment
@hotpaw2, наистина не знам, предполагам, че искам универсално приложение, звучи като по-малко дублиране   -  person Mark    schedule 03.09.2010
comment
@thyrgle не, както се казва във въпроса, НЕ търся тази опция   -  person Mark    schedule 03.09.2010


Отговори (2)


За минимално дублиране можете да използвате един проект с 2 комплекта .nib файлове, но един набор от файлове с изходен код, които включват проверки по време на изпълнение за разликите в UIUserInterfaceIdiom.

Ако искате две (или повече) приложения вместо универсално приложение, просто създайте две цели, съдържащи само подходящите .nib файлове, и #ifdef резултатите от проверката по време на изпълнение, като използвате макрос за предпроцесор, дефиниран в настройките за изграждане на всяка цел, за да принудите iPhone или Само идиом за iPad.

person hotpaw2    schedule 03.09.2010
comment
да, това е, което търся, какво точно е UIUserInterfaceIdiom? Не мога да намеря много за него? - person Mark; 03.09.2010
comment
Това е свойство на устройството, което съобщава на приложението за устройството, на което се изпълнява, документирано в UIDevice Class Reference на developer.apple.com - person hotpaw2; 03.09.2010
comment

Шаблоните за проекти на Analysis Services, Integration Services и Reporting Services са части от инсталацията на Business Intelligence Development Studio, която е инсталирана по време на вашата инсталация на SQL сървър (функции на компонентите на клиентската работна станция). Така че деинсталирането на някой от сървърните компоненти не ги премахва и следователно все още можете да проектирате и изграждате този вид проекти. Що се отнася до Project Server Projects, компонентът Report Designer може да визуализира отчета, преди да бъде публикуван на Report Server.

за разбирането

- person Mark; 03.09.2010
comment
Ето процеса, който използвах: 1. Актуализирайте целта си, за да бъде едно универсално приложение 2. Отбележете новия XIB файл XXX-iPad.xib, който xcode създава за вас 3. Създайте нови XIB файлове, които съответстват на вашето iPad приложение (вие можете да създадете нови XIB файлове, които сочат към вашите съществуващи UIViewController, просто добавете един View XIB, променете неговия клас на вашия съществуващ контролер за изглед) 4. Вътре в този XIB файл променете нормалните XIB файлове, които се зареждат, за да сочат към новите XIB файлове, които направено в стъпка 3 5. Свържете вашия IBOutlet, както бихте направили обикновено във вашия нов XIB - person Mark; 08.09.2010

Най-новият (3.2.3) Xcode автоматично генерира универсален проект, който е чудесна отправна точка, за да видите как да насочите iPad и iPhone в един Xcode проект.

File > New Project > Window-based Application > Product : Universal

person ohho    schedule 03.09.2010
comment
Това, което е неприятно за този тип проект, е, че той не създава ViewController, така че можете да правите неприятни неща като завъртане на дисплея. Така че трябва да промените кода, за да предоставите подходящите файлове. - person LilMoke; 30.03.2011