Я пытаюсь создать свое первое универсальное приложение для 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.