Ho appena aggiornato il mio Monotouch a 6 e ora la mia app non verrà avviata. Funzionava in precedenza senza problemi. Ora lancia un'eccezione (elencata sotto) nel file Main.cs. Ho esaminato i suggerimenti per la risoluzione dei problemi su Xamarin, ma non ha risolto il problema. Ho riposizionato il file del pennino, rimosso e riconfigurato i miei punti vendita e ho creato un pennino completamente nuovo per vedere se questo avrebbe risolto il problema. Qualcun altro ha qualche pensiero?Non codifica valore chiave compatibile (Monotouch e 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
codice dalle LoginView.designer.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;
}
}
Codice da Main.cs (dove il codice pause):
static void Main (string[] args)
{
UIApplication.Main (args, null, "AppDelegate");
}
Ecco il frammento dal mio AppDelegate dove Chiamo 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;
Se necessario, è necessario più codice. – fuzz
Aggiunto un po 'di codice per, è solo il codice generato dal designer. Ma dovrebbe darti un'idea di ciò che il designer sta sincronizzando. Come ho detto, ha funzionato prima dell'aggiornamento. Quindi, sono curioso di sapere se si tratta di un monoteuch/sviluppo bug. – jamesbar2