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