MonoTouch.Foundation.MonoTouchException a été levé Objective-C exception levée. Nom: NSInternalInconsistencyException

Il semble que ce problème se présente chaque fois que j'utilise mon application iOS dans Xamarin.

MonoTouch.Foundation.MonoTouchException has been thrown Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Could not load NIB in bundle: 'NSBundle ... (loaded)' with name 'RouteMeViewController' 

J'essaie de replace un GoogleMapsViewController par un RouteMeViewController en utilisant la bibliothèque Objective C et Binder dans une application sur laquelle je devais travailler. Mon AppDelegate ressemble à ceci:

 namespace ExampleApp.iOS { [Register ("AppDelegate")] public partial class AppDelegate : UIApplicationDelegate { UIWindow window; RouteMeViewController viewController; public override bool FinishedLaunching (UIApplication app, NSDictionary options) { window = new UIWindow (UIScreen.MainScreen.Bounds); viewController = new RouteMeViewController (); window.RootViewController = viewController; window.MakeKeyAndVisible (); return true; } } 

RouteMeViewController

 namespace ExampleApp.iOS { public partial class RouteMeViewController : UIViewController { RMMapView MapView { get; set; } public RouteMeViewController () : base ("RouteMeViewController", null) { } public override void ViewDidLoad () { base.ViewDidLoad (); MapView = new RMMapView(View.Frame, new RMOpenStreetMapSource().Handle); MapView.AutoresizingMask = UIViewAutoresizing.FlexibleDimensions; if (UIScreen.MainScreen.Scale > 1.0) MapView.AdjustTilesForRetinaDisplay = true; Add (MapView); } } 

}

Toute aide ou direction est très appréciée, merci!

Il semble qu'il vous manque un file de concepteur dans les ressources de votre solution. Même si vous créez des controls et des vues par programme, vous avez besoin d'un file de concepteur dans lequel ils doivent être dessinés, même s'il s'agit simplement d'un file de concepteur vide. Pour IOS, vous pouvez utiliser XCode pour cela. Vous pouvez créer des files avec l'extension .xib. Ils seront compilés sur votre appareil, et le file résultant a l'extension .nib. Assurez-vous que la cible du file .xib est le viewController correct de votre projet, sinon vous obtiendrez toujours l'erreur.

J'espère que ça aide. Bonne chance!