应用程序在应用程序启动结束时应该有一个根视图控制器 wait_fences: failed to receive reply: 10004003

Posted

技术标签:

【中文标题】应用程序在应用程序启动结束时应该有一个根视图控制器 wait_fences: failed to receive reply: 10004003【英文标题】:Applications are expected to have a root view controller at the end of application launch wait_fences: failed to receive reply: 10004003 【发布时间】:2011-11-08 17:37:09 【问题描述】:

当我在 iphone 模拟器中启动我的应用程序时,它没有任何问题。如果我在设备上启动它会在我打开它时崩溃。但是当我启动模拟器时,它会说这个问题:

Applications are expected to have a root view controller at the end of application launch
wait_fences: failed to receive reply: 10004003

我能做什么? 这是我的应用程序委托:

.h:

#import <UIKit/UIKit.h>

@class TrovaChiaviViewController;

@interface TrovaChiaviAppDelegate : NSObject <UIApplicationDelegate>
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet TrovaChiaviViewController *viewController;
@end

这是.m

#import "TrovaChiaviAppDelegate.h"
#import "TrovaChiaviViewController.h"

@implementation TrovaChiaviAppDelegate
@synthesize window = _window;
@synthesize viewController = _viewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;

- (void)applicationWillResignActive:(UIApplication *)application




- (void)applicationDidEnterBackground:(UIApplication *)application

    [application release];


- (void)applicationWillEnterForeground:(UIApplication *)application



- (void)applicationDidBecomeActive:(UIApplication *)application

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

- (void)applicationWillTerminate:(UIApplication *)application



- (void)dealloc

    [_window release];
    [_viewController release];
    [super dealloc];


@end

【问题讨论】:

Applications are expected to have a root view controller at the end of application launch的可能重复 【参考方案1】:

我看不到您在哪里设置 viewController 属性,添加

self.viewController = [[[TrovaChiaviViewController alloc] initWithNibName:@"TrovaChiaviViewController" bundle:nil] autorelease];

之前

self.window.rootViewController = self.viewController; 

【讨论】:

【参考方案2】:

当我将应用程序从仅 iPhone 更改为 iPad 时,我遇到了这个问题。发生错误消息“应用程序在应用程序启动结束时应具有根视图控制器”是因为在应用程序信息 plist 中,当我不再使用 nib 时,有一个条目为 MainWindow 指定了一个 nib 文件。

【讨论】:

【参考方案3】:

虽然这是一个较旧的线程,但我想我会做出贡献。有时我在创建新项目时会选择一个模板。我创建空项目时有两种情况。在这两种情况下,我都遇到了同样的问题。

请参阅此链接。 http://www.mumuen.com/2011/09/applications-are-expected-to-have-root.html

就我而言,关键是我未能为我的窗口和根控制器分配空间。

【讨论】:

以上是关于应用程序在应用程序启动结束时应该有一个根视图控制器 wait_fences: failed to receive reply: 10004003的主要内容,如果未能解决你的问题,请参考以下文章

MonoTouch 和“应用程序在应用程序启动结束时应该有一个根视图控制器”错误

应用程序在应用程序启动结束时应该有一个根视图控制器 wait_fences: failed to receive reply: 10004003

奇怪的控制台消息 - 应用程序窗口应该在应用程序启动结束时有一个根视图控制器 [重复]

“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”在我禁用情节提要后发生

设置根视图时,“应用程序窗口应在应用程序启动结束时具有根视图控制器”消息[重复]

应用程序启动结束时的根视图控制器,默认为 cocos2d 视图控制器而不是另一个故事板视图