les applications doivent avoir une console de contrôleur de vue racine
Je reçois un message dans la console quand je lance mon appli qui dit:
2011-11-16 19:17:41.292 Jus[8674:707] les Demandes sont censés avoir une vue de la racine de contrôleur à la fin de lancement de l'application
J'ai entendu d'autres que cela a à voir avec la méthode didFinishLaunchingWithOptions
Si quelqu'un a des suggestions pour pourquoi j'obtiens cette erreur, il serait très apprécié.
Mon code pour la méthode:
- (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;
}
source d'informationauteur Teddy13
Vous devez vous connecter pour publier un commentaire.
Vous devez remplacer le
à
Peut-être que vous avez construit votre projet avec " Application Vide' et j'ai oublié de définir le
rootViewController
dans votredidFinishLaunchingWithOptions
(qui existe dans votre AppDelegate.m).Cependant, si vous construisez votre projet avec "Seule Vue de l'Application " ou d'un autre type, le projet permettra de définir la
rootViewController
viaxib
par défaut (qui peut être un MainWindow.xib dans votre projet).J'ai eu le même problème sur iOS 5, après l'ajout d'un storyboard pour un "vide" du projet. Il s'avère que j'ai dû enlever toutes les lignes dans AppDelegate.m que de définir des valeurs pour
self.window
.Si vous avez MainWindow.xib, assurez-vous de définir Interface Principale Cible résumé MainWindow.
Chemin, j'ai cette erreur
Applications are expected to have a root view controller at the end of application launch
à disparaître, a été d'assurer laloadView
méthode dans ma vue de la racine de contrôleur de l'appelant[super loadView]
. Espérons que cela aide quelqu'un.Essayez d'utiliser
self.window
au lieu dewindow
(si votre installation awindow
êtresynthesized
avec quelque chose comme@synthesize window=_window;
):2ème possibilité:
Dans votre main.m assurez-vous que le dernier argument est le nom de l'Application Délégué. Dans votre cas, il semble que ça devrait être:
Solution:
@Marcus13 dit dans les commentaires ci-dessous.. Cela a été fixée a été trouvé dans cette SORTE de réponse: Les Applications sont censés avoir une vue de la racine de contrôleur à la fin de lancement de l'application - par le déplacement de la
UIAlertView
méthodes de-(void)viewDidLoad
à-(void)viewDidAppear:(BOOL)animated
Une autre cause:
J'ai été au bureau de l'IB attacher de Fichier Propriétaire d'une nouvelle petite ImageView j'avais traîné sur la Vue. Je n'avais pas dit un IBOutlet dans le .h fichier, alors quand j'ai ctrl-glissé vers elle, la nouvelle Imageview n'était pas répertoriée comme une connexion possible. La seule possibilité affiché dans la petite boîte noire a été Vue. J'ai cliqué par inadvertance. J'ai fait quelques modifications, puis a couru le programme et a obtenu la Racine de l'erreur du Contrôleur. Le correctif a été de me reconnecter Propriétaire du Fichier à la Vue de dessous de la xib - IB écran.
Je viens de tomber sur ce problème lors de la construction d'un nouveau projet à partir de zéro. J'ai ajouté une table de montage et de construire mon ensemble de l'interface, mais je n'ai pas de sélectionner un modèle.
Lorsque le faisant de cette façon, vous devez vérifier 3 choses principales:
Toujours sélectionner votre contrôleur initiale (TabBarcontroller ou NavigationController) que la vue initiale dans votre Storyboard.
Modifiez le code dans votre Appdelegate.m à partir de ce
à ce
Vérifier votre [ProjectName]-Info.fichier plist. Si il n'y a pas de clé nommée "Main storyboard nom de base du fichier", vous devez l'ajouter manuellement et définissez sa valeur sur le nom de votre storyboard fichier (sans l'extension).
Après j'ai fait toutes ces étapes, ma demande a fonctionné à la perfection.
J'ai également eu le même problème. Je n'ai eu un écran noir. S'avère que j'avais supprimé par inadvertance:
de mon code. Espérons que cela aide quelqu'un!
J'ai eu deux points de vente affectés à "voir" dans le storyboard de la racine de vue-contrôleur. Droit-cliquez sur "view controller" et assurez-vous il n'y a qu'une "vue".
J'ai également eu le même message d'erreur alors que le développement d'une application qui utilise une Base de données sqlite.
Je montrais alertView lorsque la db transfert de fichiers a échoué.
Ce fut une erreur car on ne peut pas montrer toutes les popovers/alertview/actions sans rootViewController!
Je l'ai corrigé en veillant à ce que toute fonction qui crée et affiche ces alertes/popovers/actionsheets sont appelées après
Je sais que ce post est vieux, mais je suis tombé sur ce sujet aujourd'hui.
C'est parce que j'ai créé un
UIAlertView
dans didFinishLaunchingWithOptions.En supposant que nous ne devrions pas faire cela parce que j'ai commenté et l'erreur a disparu. J'ai supprimé mes commentaires et l'erreur est revenue.
L'application ne plante pas, je viens d'obtenir cette erreur enregistré.
J'ai eu le même problème avec mon Application. Il est apparu quand j'ai ajouté un autre point de vue contrôleur à mon projet et a essayé de la définir comme la vue de la racine de contrôleur dans AppDelegate. J'ai essayé plusieurs solutions, mais aucune ne pouvait résoudre le problème. J'ai enfin trouvé la cause: j'ai eu deux versions localisées de la MainWindow.xib fichier (Un allemand et un autre pour la localisation en anglais). J'ai donc supprimé le fichier anglais et rebranché la IBOutlets dans MainView.xib. Cela a résolu le problème.
Je ne suis pas sûr si cela va aider quelqu'un d'autre, mais si vous avez utilisé l'interface builder pour créer votre mainWindow et ont tout fait le lien entre le délégué assurez-vous que vous n'avez pas le code suivant à l'intérieur de l'application:didFinishLaunching ...
J'ai eu le même message d'erreur jusqu'à ce que j'ai enlevé la ligne ci-dessus. Espérons que ça aide!
EDIT: en Faisant le ci-dessus a maintenant mon viewControllers viewDidAppear méthode appelée deux fois ?
Si vous utilisez la table de montage séquentiel, mais a créé un projet vide, vous avez probablement oublié de définir le Principal storyboard à votre *.storyboard fichier dans le Résumé onglet dans les paramètres de votre projet. Il m'a aidé à résoudre ce problème.
Si vous démarrez à partir d'un vide, vous devez effectuer cet ajout à votre AppDelegate.m de fichier, le "point" de la fenêtre de la rootViewController (
self.window.rootViewController = [[[ViewControllerName alloc] initWithNibName:@"ViewControllerName" bundle:nil] autorelease];
)Comme suit: