Универсальные шаблоны приложений XCode и переопределение didFinishLaunchingWithOptions - PullRequest
0 голосов
/ 22 февраля 2011

Я пытаюсь создать свое первое универсальное приложение для iOS, используя шаблоны Xcode по умолчанию для оконного приложения, и устанавливаю для семейства устройств значение «Универсальный». (Я использую Xcode 4, но я считаю, что шаблоны почти идентичны для предыдущих версий Xcode.)

При этом создается общий делегат приложения вместе с конкретными делегатами приложения для iPhone и iPad.

Поскольку iPad должен будет загружать SplitViewController при запуске приложения, а iPhone должен загружать RootViewController (представление таблицы) - я решил попробовать переопределить метод didFinishLaunchingWithOptions в делегатах приложения для конкретного устройства, например, для iPhone:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [super application:application didFinishLaunchingWithOptions:launchOptions];

    RootViewController *rootViewController = (RootViewController *)[_navController topViewController];
    rootViewController.context = [self managedObjectContext];

    [_window addSubview:_navController.view];

    return YES;
}

Однако, поскольку XCode помещает файлы делегатов приложения для конкретного устройства в группу «iPhone» или «iPad», я получаю сообщение об ошибке, в котором говорится, что файл «RootViewController.h» не найден ... несмотря на попытку импортировать его с помощью:

#import "RootViewController.h"

Есть ли способ решить это, или я иду по этому поводу совсем неправильно? Я бы предпочел не перемещать файл «RootViewController.h» в группу iPhone, поскольку я думаю, что он также будет использоваться на iPad.

1 Ответ

0 голосов
/ 14 апреля 2011

Вы должны следовать этой модели: http://www.kotancode.com/2011/04/05/ios-universal-apps/, и вы должны импортировать "RootViewController_iPhone.h"

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