2 votes

Monotouch 4 : L'application plante au lancement sur l'iPhone, mais fonctionne sur le simulateur.

Ma configuration est la suivante :

  • MonoDevelop 2.8.5
  • MonoTouch 4.0.6
  • XCode 4.2

Je crée un projet iphone à vue unique. La construction de ce projet fonctionne à la fois sur le simulateur et sur l'appareil.

Maintenant, je double-clique sur le fichier .xib, j'ajoute un champ de texte dans XCode et je crée une sortie. Aucun autre code n'a été écrit.

L'exécution sur le simulateur fonctionne parfaitement. L'exécuter sur n'importe quel appareil iPhone se plante au lancement. J'ai réussi à obtenir la trace de pile suivante :

System.NullReferenceException: Object reference not set to an instance of an object
  at MonoDevelop.Debugger.ObjectValueTreeView.SetValues (TreeIter parent, TreeIter it, System.String name, Mono.Debugging.Client.ObjectValue val) [0x0000d] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:640 
  at MonoDevelop.Debugger.ObjectValueTreeView.AppendValue (TreeIter parent, System.String name, Mono.Debugging.Client.ObjectValue val) [0x00034] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:627 
  at MonoDevelop.Debugger.ObjectValueTreeView.Refresh () [0x00091] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:468 
  at MonoDevelop.Debugger.ObjectValueTreeView.AddValue (Mono.Debugging.Client.ObjectValue value) [0x0000c] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:416 
  at MonoDevelop.Debugger.ExceptionCaughtDialog.Fill () [0x00084] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ExceptionCaughtDialog.cs:82 
  at MonoDevelop.Debugger.ExceptionCaughtDialog.<HandleExceptionChanged>m__0 (System.Object , System.EventArgs ) [0x00000] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ExceptionCaughtDialog.cs:63 
  at Gtk.Application+InvokeCB.Invoke () [0x00000] in <filename unknown>:0 
  at GLib.Timeout+TimeoutProxy.Handler () [0x00000] in <filename unknown>:0 

Quelqu'un a mentionné que MonotTouch 4 ne fonctionne qu'avec MonoDevelop 2.6. Le problème est que j'ai déjà écrit beaucoup de code dans MD 2.8.5 depuis que le simulateur fonctionne, et lorsque je reviens à MD 2.6, le projet ne se charge pas...

Désolé pour le manque de mise en forme, je suis nouveau sur stackoverflow.

Toute aide est appréciée.
Themos

2voto

jonathanpeppers Points 12694

Vous avez une sortie dans un fichier XIB qui ne correspond pas à une propriété dans votre contrôleur en C#. C'est ce que le merveilleux class is not key value coding-compliant indique le message. Voici un lien .

Je vous recommanderais d'obtenir les dernières versions de MonoTouch/MonoDevelop (non-beta) et XCode, puis de trouver les prises que vous avez et de voir laquelle n'est pas connectée correctement.

Vous pouvez les configurer manuellement si XCode ne le fait pas pour vous. [Outlet] attribut que vous mettez sur les propriétés pour les débouchés. Regardez un *.designer.cs pour des exemples.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X