2012-01-02 12 views
2

私のセットアップは次のとおりです。MonoTouchで4:iPhoneデバイスの起動時にアプリケーションがクラッシュし、シミュレータ上で動作

  • MonoDevelopの2.8.5
  • MonoTouchで4.0.6
  • XCodeの4.2

IシングルビューiPhoneプロジェクトを作成します。これは、シミュレータとデバイスの両方で動作します。

ここで、.xibファイルをダブルクリックし、XCodeにテキストフィールドを追加してコンセントを作成します。他のコードは書かれていません。

これをシミュレータで実行すると、完全に動作します。起動時に、すべてのiPhoneデバイスで実行するとクラッシュします。私は、次のスタックトレースを取得するために管理:

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 

誰かがMonotTouch 4のみにMonoDevelop 2.6で動作することを述べました。問題は、シミュレータが動作してからMD 2.8.5に多くのコードを書いていることです。MD 2.6にロールバックすると、プロジェクトはロードされません。

フォーマットが不十分stackoverflowの新機能

何か助けていただければ幸いです。
Themos

+0

ここに別のiPhoneのスタックトレースがあります。 Objective-C例外がスローされました。名前:NSUnknownKeyException理由:[ setValue:forUndefinedKey:]:このクラスはキーxxxに対してキー値のコーディングに準拠していません。 –

答えて

2

XIBファイルには、C#のコントローラのプロパティにマップされていないコンセントがあります。これは素晴らしいメッセージclass is not key value coding-compliantが示すことです。 Here is a link

最新のMonoTouch/MonoDevelop(非ベータ版)とXCodeを入手し、あなたが持っているコンセントを見つけ、どちらが適切に接続されていないかを確認することをお勧めします。

XCodeがそれを実行しない場合は手動で設定することができます。コンセントのプロパティには単純なという属性があります。例としては*.designer.csファイルを見てください。

+0

フィードバックJonathanに感謝します。しかし、私はこれが当てはまるとは思わない。私はSingle-View iPhoneプロジェクトを使用しています。私はXCodeを起動し、ビュー上にテキストフィールドをドラッグし、ctrl-dragを押してouletを作成し、保存してMDに戻ります。 私が持っているのは、真ん中にテキストフィールドがあり、シミュレータで正しく動作するビューですが、実際のデバイスではすぐにクラッシュします。 designer.csファイルの内容は次のとおりです。[Outlet] \t \t MonoTouch.UIKit.UITextField testTextfield {get;セット; } フィードバックが高く評価されました。 –

+0

私は、ほとんどの人が助けるためにもっと多くの情報を必要としていると思います。あなたの 'static void Main'メソッドの周りにtry-catchを置いて、' AppDomain.UnhandledException'イベントにフックしてコンソールに例外を書き出してください。その後、クラッシュを作成し、XCodeのオーガナイザでコンソールを見ながら、より良いスタックトレースを投稿できると思います。 – jonathanpeppers

+0

Xamarinのサポートは私にMT 4.0.7のリンクを送ってくれたほど親切でした。私はそれがMT 4.0.6の問題だと考えています。問題の説明が通常あなたが言及した問題を指しているので、受け入れられた答え。 –

関連する問題