Monotouchを6にアップグレードしましたが、今度はアプリケーションが起動しません。以前は問題なく動作していました。今度は、Main.csファイルに例外(以下に記載)がスローされます。 Xamarinのトラブルシューティングのヒントを調べましたが、問題は解決しませんでした。私はnibファイルを再レイアウトし、私のアウトレットを取り外して再構成し、それが問題を解決するかどうかを確認する全く新しいペン先を作成しました。他の誰かが考えを持っていますか? LoginView.designer.csからキーコード値に準拠していません(Monotouch and iOS 6)
MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown. Name: NSUnknownKeyException Reason: [<UIApplication 0xc84bb10> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key btnNewAccount.
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
at Pokr.Application.Main (System.String[] args) [0x00000] in /Users/James/Projects/App/Main.cs:17
コード:Main.csから
[Register ("LoginView")]
partial class LoginView
{
[Outlet]
MonoTouch.UIKit.UIImageView imgLogo { get; set; }
[Outlet]
MonoTouch.UIKit.UITextField txtEmail { get; set; }
[Outlet]
MonoTouch.UIKit.UITextField txtPassword { get; set; }
[Outlet]
MonoTouch.UIKit.UIButton btnLogin { get; set; }
[Outlet]
MonoTouch.UIKit.UIButton btnNewAccount { get; set; }
[Outlet]
MonoTouch.UIKit.UILabel lblSecurityNotice { get; set; }
[Outlet]
MonoTouch.UIKit.UIImageView imgKeyboardBorder { get; set; }
void ReleaseDesignerOutlets()
{
if (imgLogo != null) {
imgLogo.Dispose();
imgLogo = null;
}
if (txtEmail != null) {
txtEmail.Dispose();
txtEmail = null;
}
if (txtPassword != null) {
txtPassword.Dispose();
txtPassword = null;
}
if (btnLogin != null) {
btnLogin.Dispose();
btnLogin = null;
}
if (btnNewAccount != null) {
btnNewAccount.Dispose();
btnNewAccount = null;
}
if (lblSecurityNotice != null) {
lblSecurityNotice.Dispose();
lblSecurityNotice = null;
}
if (imgKeyboardBorder != null) {
imgKeyboardBorder.Dispose();
imgKeyboardBorder = null;
}
}
コード(コードブレーク):ここで
static void Main (string[] args)
{
UIApplication.Main (args, null, "AppDelegate");
}
は私AppDelegateどこからの抜粋です私はViewControllerを呼び出します:
var rootNavigationController = new UINavigationController();
LoginView loginScreen = new LoginView();
rootNavigationController.PushViewController(loginScreen, false);
this.window.RootViewController = rootNavigationController;
//blank function fires so the getter will init the singleton.
Singleton.Instance.Initialize();
// make the window visible
window.MakeKeyAndVisible();
return true;
可能であれば、より多くのコードが必要です。 – fuzz
いくつかのコードを追加しました。デザイナーが生成したコードだけです。しかし、それはデザイナーが何を同期しているかのアイデアを与えるはずです。私が言ったように、それはアップグレードする前に働いた。ですから、Monotouch /バグを開発するのが好きです。 – jamesbar2