Ожидается, что приложения будут иметь контроллер корневого представления в конце запуска приложения. Wait_fences: не удалось получить ответ: 10004003 - PullRequest
3 голосов
/ 08 ноября 2011

когда я запускаю приложение в эмуляторе 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

Ответы [ 3 ]

5 голосов
/ 18 ноября 2011

Я не вижу, где вы устанавливаете свойство viewController, добавьте

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

до

self.window.rootViewController = self.viewController; 
1 голос
/ 26 мая 2012

У меня только была эта проблема, когда я менял приложение с iPhone только на iPad. Сообщение об ошибке «Ожидается, что приложения будут иметь корневой контроллер представления в конце запуска приложения», потому что в листе сведений о приложении была запись, указывающая файл пера для MainWindow, когда я больше не использовал перо.

0 голосов
/ 17 января 2012

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

Ссылка на эту ссылку. http://www.mumuen.com/2011/09/applications-are-expected-to-have-root.html

В моем случае, ключ был в том, что мне не удалось выделить место как для моего окна, так и для корневого контроллера.

...