2013-10-06 6 views
4

Я создал пустой проект приложения для iPhone и хотел бы показать полноэкранную рекламу во время запуска приложения.Ошибка «Окна приложений должны иметь контроллер корневого представления» (iOS)

Я попытался установить объявление, следуя этим рекомендациям: https://github.com/mopub/mopub-ios-sdk/wiki/Interstitial-Integration-For-iOS

Вот что я сделал в конце концов:

In ViewController.h

In ViewController.m

На самом деле все коды просто копируются из предыдущая ссылка.

Однако ошибка показывает при запуске приложения:

окна приложений, как ожидается, иметь контроллер представления корня в конце запуска приложения

Я думаю, что эта ошибка может, вероятно, связано к методу loadView, потому что, если я удалю метод loadView, ошибка исчезнет.

На самом деле эта ошибка кажется обычной, поскольку ее можно легко найти в Интернете, но я не знаю, как loadView связан с ней и как ее можно решить в моем случае.

Любые решения? Большое спасибо.

+0

Показать код в AppDelegate .м. В частности, код в приложении: метод didFinishLaunchingWithOptions:. –

ответ

7

Вы, вероятно, нужно сделать следующее:

Добавить

#import "ViewController.h" 

к началу AppDelegate.m

И в AppDelegate.m, приложение: didFinishLaunchingWithOptions: метод должен иметь некоторый код как это.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // ... Other code 

    // Override point for customization after application launch. 
    ViewController *viewController = [[ViewController alloc] init]; 

    self.window.rootViewController = viewController; 
    self.window.backgroundColor = [UIColor whiteColor]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 
1

Если вы начали с пустым шаблоном и добавил раскадровку, что вам нужно сделать несколько вещей:

Вы должны удалить все строки (кроме оператора возврата) внутри didFinishLaunchingWithOptions

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
     return YES; 
} 

В настройках проекта -> Общие, выберите раскадровки в качестве основного интерфейса

+0

почему проголосовали ????? Я думаю, что это не так. – DHEERAJ

2
UIViewController *vc = [[UIViewController alloc] init]; 

[vc.view addSubview:self.tab_controller.view]; 

[self.window setRootViewController:vc]; 

ИЛИ

UIViewController *vc = [[UIViewController alloc] init]; 

[vc.view addSubview:yourClass.view]; 

[self.window setRootViewController:vc]; 
0

Прикрепленного снимок, чтобы помочь вам enter image description here

На праве проверки стороны есть один вариант под атрибутом инспектора, который просит установить в качестве «является rootView контроллер»

Смежные вопросы

 Смежные вопросы