Как начать проект с обоими выходами iPhone и iPad? - PullRequest
2 голосов
/ 17 апреля 2010

Используя Pre-Release Xcode 3.2.3, я получаю это как проект запуска

альтернативный текст http://www.balexandre.com/temp/2010-04-17_1155.png

Что я должен выбрать / сделать для создания отличного проекта, в котором в качестве цели могут использоваться как iPad, так и iPhone ( не показывает приложение iPhone на iPad , но настоящий iPad View)?

Спасибо.


Чтобы избежать проблем:

  • iPhone OS 3.1.3 является последней версией для iPhone
  • iPhone OS 3.2 является последней версией для iPad

Мой вопрос не нарушает каких-либо соглашений, с которыми я и Apple связаны , так как мой вопрос касается этих уже открытых Релизов.

Я только что заявил, что в моей операционной системе я использую Xcode 3.2.3, вот и все.

Ответы [ 2 ]

11 голосов
/ 17 апреля 2010

просто выяснил простой способ:

альтернативный текст http://www.balexandre.com/temp/2010-04-17_1242.png

альтернативный текст http://www.balexandre.com/temp/2010-04-17_1241.png

Затем, если вы хотите переключиться на файлы XIB для каждого устройства, скажем, MainView для iPhone - это A, а MainView для iPad - B, в вашем AppDelegate вы добавляете это:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // The default have the line below, let us comment it
    //MainViewController *aController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];

    // Our main controller
    MainViewController *aController = nil;

    // Is this OS 3.2.0+ ?
    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
            // It's an iPad, let's set the MainView to our MainView-iPad
        aController = [[MainViewController alloc] 
                              initWithNibName:@"MainView-iPad" bundle:nil];
    else 
            // This is a 3.2.0+ but not an iPad (for future, when iPhone runs with same OS than iPad)
        aController = [[MainViewController alloc] 
                              initWithNibName:@"MainView" bundle:nil];

    #else
        // It's an iPhone (OS < 3.2.0)
        aController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];
    #endif

    // Let's continue our default code 
    self.mainViewController = aController;
    [aController release];

    mainViewController.view.frame = [UIScreen mainScreen].applicationFrame;
    [window addSubview:[mainViewController view]];
    [window makeKeyAndVisible];

    return YES;
}
0 голосов
/ 08 февраля 2011

Вы можете выбрать тип приложения «Универсальный».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...