我在控制台中收到以下错误:
应用程序在应用程序启动结束时应具有根视图控制器
以下是我的application:didFinishLaunchWithOptions方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Set Background Color/Pattern
self.window.backgroundColor = [UIColor blackColor];
self.tabBarController.tabBar.backgroundColor = [UIColor clearColor];
//self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"testbg.png"]];
// Set StatusBar Color
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
// Add the tab bar controller's current view as a subview of the window
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
在Interface Builder中,UITabBarController代理连接到App Delegate.
有谁知道如何解决这个问题?
我正在尝试将我的iPhone应用程序转换为通用应用程序.我将设备切换到Universal并让Xcode为我做了一个MainWindow-iPad.xib的事情,现在当我在iPhone模拟器中运行应用程序时,它工作正常,但是当我在iPad模拟器中运行它时,我得到一个白色屏幕和Application windows are expected to have a root view controller at the end of application launch错误.我已经阅读了一些关于同样问题的其他帖子,但没有一个仅限于一个设备.
这是我的application:didFinishLaunchWithOptions:方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
/* some dropbox setup stuff */
// INIT VIEW AND CORE DATA
RootViewController *rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
// Handle the error.
}
rootViewController.managedObjectContext = context;
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.navigationController = aNavigationController;
[_window addSubview:[_navigationController view]];
[_window makeKeyAndVisible];
[rootViewController release];
[aNavigationController release]; …Run Code Online (Sandbox Code Playgroud) 当我运行我的应用程序时,我在控制台中收到一条消息:
2011-11-16 19:17:41.292 Juice [8674:707]应用程序在应用程序启动结束时应该有一个根视图控制器
我从别人那里听说这与这个方法有关 didFinishLaunchingWithOptions
如果有人对我收到此错误的原因有任何建议,我将不胜感激.
我的方法代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
return YES;
}
Run Code Online (Sandbox Code Playgroud) 我有这个问题,但是我在这个论坛或互联网上找到的信息似乎都无法帮助我.
似乎有两个地方会出现此错误:
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Run Code Online (Sandbox Code Playgroud)
最后一个参数UIApplicationMain返回NSString我的类的值AppDelegate.因此工作正常.
2.AppDelegate.m - 有一种设置根视图控制器的"旧"方法,如下所示:
[self.window addSubview:rootViewController];
Run Code Online (Sandbox Code Playgroud)
但是,在我的应用程序中,它已更新为:
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)
因此,互联网上的当前信息都不起作用.更令人费解的是,我的同事可以让它在他的计算机上工作得非常好 - 他是那个向我发送应用程序源代码的人,所以所有的设置和代码应该完全相同.
我试图在模拟器中启动它.它是针对iOS 5构建的,但我试图在iOS 6.0模拟器上运行它.
我有最新的XCode(4.5.1).
有什么理由会发生这种情况吗?我该如何纠正呢?
非常感谢
汤姆
我正在使用facebook iOS SDK安装教程:https://developers.facebook.com/docs/mobile/ios/build/
在第4步:添加注销到您的应用程序后,
我在5.1模拟器(xcode 4.3.2)上看到一个空白的白色屏幕,控制台显示一条消息:
应用程序窗口应在应用程序启动结束时具有根视图控制器
编辑-1
谢谢你的回复; 我在创建应用程序时选择了"单一视图应用程序"模板.在MainStoryBoard.storyboard中,我创建了一个对象并为其分配了MyGreatIOSAppAppDelegate类.将此对象的viewController出口拖放到View Controller.
这是MyGreatIOSAppAppDelegate.m中的代码
#import "MyGreatIOSAppAppDelegate.h"
#import "xxxViewController.h"
@implementation IJSAppDelegate
@synthesize window = _window;
@synthesize viewController = _viewController;
@synthesize facebook;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
// Add the logout button
UIButton *logoutButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
logoutButton.frame = CGRectMake(40, 40, 200, 40);
[logoutButton setTitle:@"Log Out" forState:UIControlStateNormal];
[logoutButton addTarget:self action:@selector(logoutButtonClicked)
forControlEvents:UIControlEventTouchUpInside];
[self.viewController.view addSubview:logoutButton];
facebook = [[Facebook alloc] …Run Code Online (Sandbox Code Playgroud) ios ×4
objective-c ×3
iphone ×2
console ×1
facebook ×1
ios5 ×1
ios6 ×1
mainwindow ×1
uiview ×1
xcode ×1