Question

Je viens de terminer hors une application pour l'iPhone qui, jusqu'à aujourd'hui, a fonctionné très bien sur le simulateur d'iPhone et les appareils réels.

Je l'ai essayé de changer xib qui est chargé dans la méthode applicationDidFinishLaunching dans ma classe de délégué de l'application - tout ce que je ne faisais que changer la chaîne dans initWithNibName

.

Quand je lance l'application sur le simulateur, l'image est affichée Default.png, puis les application se bloque avec une exception non interceptée. Lors de l'exécution sur un appareil, l'image Default.png est affichée pendant environ 10 secondes, l'interface utilisateur est jamais chargé et je reçois « GDB: Programme signal reçu: « SIGABRT ». » sur la barre d'état Xcode. Debugging montre que applicationDidFinishLaunching est jamais réellement atteint avant l'application se bloque.

Réglage de la xib de départ à l'original permet de résoudre le problème, mais maintenant j'ai fait un changement et enregistré dans l'Interface Builder et l'application présente les mêmes questions que ci-dessus - je l'ai fait pas de code change du tout.

Est-ce un problème de mémoire ou d'un problème connu d'une erreur commune?

NOTE:. Je l'ai fait pas de code change que ce soit, et les seuls changements que j'ai fait au xib sont cosmétiques, les IBOutlets sont intacts

Était-ce utile?

La solution 2

Désolé les gars, ma faute - il semble que je supprimé le fichier MainWindow.xib, de sorte que le délégué n'a pas été appelé au démarrage après avoir apporté des modifications. Je l'ai recréée et reliaient au délégué de l'application et UIApplication maintenant tout fonctionne.

Autres conseils

Vous avez probablement changé le nom d'un IBOutlet dans le code sans changer dans le xib.

Vous aviez probablement IBOutlets connecté à partir d'un retour dans votre xib code et ces connexions sont brisées.

Vous devez nous donner un peu plus de détails sur la façon dont la chaîne de nibname a été modifiée. Avez-vous renommé votre fichier xib?

Je renomme certaines classes et Xibs et ai SIGABRT dans main.m

le nom de classe dans l'identité inspecteur peut pointer vers le nom de classe inexistente

est parce que dans le initWithNibName vous ne donnez pas le nom de xib correct il plantera

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top