尝试在XCodeInterfaceBuilder中打开.xib时出错

时间:2011-09-29 14:26:28

标签: iphone xcode mono xamarin.ios monodevelop

我下载了Red Laser MonoTouch sample并在MonoDevelop中运行项目,我必须先更新解决方案文件,以便在MonoDevelop中加载。

当我尝试在Xcode Interface构建器中查看其中一个.xib文件时,我收到错误:

  

更新Xcode项目时出错。无法生成插座   类'RedLaserSample.RLSampleViewController'中的'overlayController'   因为它的类型'RedLaserSample.OverlayController'无法解析   到Obj-C。

     

详细说明:

     

MonoDevelop.MacDev.ObjCIntegration.ObjectiveCGenerationException:   无法在课堂上生成插座'overlayController'   'RedLaserSample.RLSampleViewController'作为其类型   'RedLaserSample.OverlayController'无法解析为Obj-C at   MonoDevelop.MacDev.ObjCIntegration.NSObjectTypeInfo.GenerateObjcType   (System.String目录)[0x001bf] in   /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectTypeInfo.cs:116   在MonoDevelop.MacDev.XcodeSyncing.XcodeSyncedType.SyncOut   (MonoDevelop.MacDev.XcodeSyncing.XcodeSyncContext context)[0x00000]   在   /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedType.cs:62   在MonoDevelop.MacDev.XcodeSyncing.XcodeMonitor.UpdateProject   (IProgressMonitor监视器,System.Collections.Generic.List`1 allItems,   MonoDevelop.MacDev.XcodeIntegration.XcodeProject emptyProject)   [0x00318] in   /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeMonitor.cs:138   在   MonoDevelop.MacDev.XcodeSyncing.XcodeProjectTracker.UpdateXcodeProject   (IProgressMonitor监视器)[0x00000] in   /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeProjectTracker.cs:315

2 个答案:

答案 0 :(得分:2)

您需要将[Register(“OverlayController”)]添加到OverlayController类。

答案 1 :(得分:2)

如果您的OverlayController文件位于与RLSampleViewController不同的项目文件夹下,RLSampleViewController包含对OverlayController的引用。确保RLSampleViewController和OverlayController位于同一级别或同一项目文件夹下。我们只是简单地直接在项目下移动文件而不是项目文件夹来解决同样的问题。

请同时参阅Xamarin XIB Code Generation Documentation Page

中的注册和命名空间