2010-07-19 4 views
0

jamais pensé que je reçois une erreur dans ce fichier quand je compilé, mais après l'exécution de mon application en mode débogage, les arrêts d'application et met en évidence la ligneerreur main.m dans l'iPhone construire

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 

dans mon fichier main.m en tant que point d'arrêt. Lorsque je cours en mode normal, l'application affiche simplement un écran noir. Qu'est-ce que ça veut dire?

(mise à jour)

D'accord, rien n'a fonctionné jusqu'à présent. Voici le code qui échoue:

#import <UIKit/UIKit.h> 

int main(int argc, char *argv[]) 
{ 
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

La pile dit

Pending breakpoint 1 - ""main.m":31" resolved 

La chose étrange est, je l'ai enlevé le contrôleur de vue ci-dessus qui a précédé ce problème, il n'y a toujours pas d'avertissement ou d'erreurs et je l'application s'arrête toujours en mode débogage ou renvoie un écran noir et se fige en mode de fonctionnement normal.

Voici une capture d'écran contenant deux captures d'écran de ma vue et des arrangements de fenêtres dans mes deux NIB dans IB. Vous pouvez également télécharger mon projet complet pour parcourir le code, si vous le souhaitez. Le projet est nommé « iHouse.zip »

http://drop.io/6lhubkb

Sinon, tout autre code spécifique quiconque voudrait voir, je suis heureux de le coller ici sur demande. Sinon, je suis perplexe.

Merci.

+4

Aucun code ou message d'erreur ne permet de répondre à celui-ci ... – Eiko

+0

Pouvez-vous poster la pile? – tadejsv

+0

"L'application s'arrête et met en surbrillance la ligne ... comme un point d'arrêt" Alors, éteignez votre point d'arrêt. –

Répondre

0

Cela signifie que vous avez probablement oublié de connecter une fenêtre ou une vue à charger après le lancement de l'application. Sauf si vous avez modifié le fichier main.m (ce dont vous ne devriez pas avoir besoin), cela devrait être parfait.

+0

Je vais voir si c'est le cas, mais j'en doute. Le fichier main.m n'a pas été modifié et cette erreur a commencé après avoir ajouté un autre contrôleur de vue de table et les fichiers viewcontroller correspondants à mon application. J'ai regardé le code méticuleusement plusieurs fois et tout semble être correctement connecté. Il n'y a pas non plus d'erreurs ou d'avertissements. Merci pour votre aide. –

+0

Plus d'informations: http://stackoverflow.com/questions/3216336/blank-black-screen-when-running-my-ipad-app/3216476#3216476 ..N'hésitez pas à publier des mises à jour soit à votre poste ci-dessus ou aux commentaires . – iwasrobbed

+0

Si elle a démarré après l'ajout du contrôleur de vue de table ou d'un autre contrôleur de vue, déterminez qui en est la cause (si les deux sont pairs). Sinon, postez peut-être un exemple de projet dépouillé pour que quelqu'un d'autre le regarde. Il est toujours utile d'avoir une deuxième paire d'yeux sur un problème, car vous pouvez être trop près de la situation pour voir une erreur flagrante. – iwasrobbed

1

Résolu .... en quelque sorte. Le "31" dans la pile faisait étrangement référence à une ligne aléatoire dans le disclaimer Apple commenté au début de main.m. J'ai enlevé ceci et ce problème est parti. Je ne sais toujours pas pourquoi il est soudainement devenu un problème en premier lieu. J'ai comparé le code côte-à-côte avec une autre application et j'ai trouvé que j'avais commenté une partie critique de applicationDidFinishLoading dans AppDelegate comme suggéré par @IWasRobbed. Parce que je n'étais pas prêt à rendre cette application universelle, j'ai commenté cette partie sur. Ce faisant, je pris la pièce cruciale pour dire à l'application ce que le diable pour charger en premier lieu

[window addSubview:tabBarController.view]; 
    [window makeKeyAndVisible]; 

Merci à tous pour votre aide. J'ai pris toute la journée pour trouver une erreur idiote de ma part, mais tu vis et tu apprends je suppose.

+0

S'il vous plaît envisager d'accepter les réponses passées et présentes de sorte qu'ils sont marqués une réponse. cliquez sur votre nom pour aller à votre profil, cliquez sur chaque question que vous avez posée, puis appuyez sur la coche à côté de la réponse la plus correcte ou la plus utile. plus d'infos sur la réputation http://meta.stackexchange.com/questions/7237/how-does-reputation-work – iwasrobbed

Questions connexes