В попытке выяснить, как интегрировать код из одной программы в другую, я выбросил 3 класса в пустой открытый игровой проект GLES. Классами являются ContentController, PhoneContentController и MyViewController из образца Apple PageControl.
Затем я взял этот код инициализации из файла делегата приложения PageControl и поместил его в игровой проект appDelegate.
contentController = [[PhoneContentController alloc] init];
[self.window addSubview:contentController.view];
с необходимыми синтезами / протоколами / включениями и объявлениями, где они находятся в PageControl.
Я получаю ошибку SIGABRT в этой строке в main:
return UIApplicationMain(argc, argv, nil, NSStringFromClass([IntegrationTestAppDelegate class]));
Я добавил общую точку останова, и она указывает на эту строку в MyViewController.m
newsItem = [[UITextView alloc] initWithFrame:self.view.frame];
Полагаю, это как-то связано с self.view.frame ....? может быть? Итак, есть ли здесь какая-то проблема типа иерархии?
РЕДАКТИРОВАТЬ - при дальнейшей проверке, похоже, что-то связано с видами ... хотя я не совсем знаю, что. Может ли это быть как-то связано с файлом внешнего пера?
EDIT - более подробно: newsItem вызывается из init myViewController, который вызывается из метода внутри контроллера содержимого телефона, который, в свою очередь, вызывается со следующей строкой в appdelegate:
contentController = [[PhoneContentController alloc] init];