Ошибка при попытке открыть файл .xib в XCodeInterfaceBuilder

#iphone #xcode #mono #xamarin.ios #monodevelop

#iPhone #xcode #моно #xamarin.ios #monodevelop

Вопрос:

Я загрузил образец Red Laser MonoTouch и запустил проект в MonoDevelop, мне пришлось сначала обновить файл решения, чтобы он загружался в MonoDevelop.

Когда я пытаюсь просмотреть один из файлов .xib в построителе интерфейса Xcode, я получаю сообщение об ошибке:

Ошибка при обновлении проекта Xcode. Не удалось сгенерировать выход ‘overlayController’ в классе ‘RedLaserSample.RLSampleViewController’ как его тип’RedLaserSample.Не удалось преобразовать OverlayController в Obj-C.

Подробные сведения:

MonoDevelop.Интеграция MacDev.ObjC.Исключение ObjectiveCGenerationException: Не удалось сгенерировать выход ‘overlayController’ в классе ‘RedLaserSample.RLSampleViewController’ как его тип’RedLaserSample.Не удалось преобразовать OverlayController в Obj-C при MonoDevelop.Интеграция MacDev.ObjC.NSObjectTypeInfo.GenerateObjcType (System.Каталог строк) [0x001bf] в /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectTypeInfo.cs: 116 в MonoDevelop.MacDev.XcodeSyncing.XcodeSyncedType.Синхронизация (монодевелопмент.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.Коллекции.Generic.List`1 AllItems, MonoDevelop.Интеграция MacDev.XcodeIntegration.XcodeProject emptyProject) [0x00318] в /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeMonitor.cs:138 в MonoDevelop.MacDev.XcodeSyncing.XcodeProjectTracker.UpdateXcodeProject (монитор IProgressMonitor) [0x00000] в /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeProjectTracker.cs:315

Ответ №1:

Вам нужно добавить [Register («OverlayController»)] в ваш класс OverlayController.

Комментарии:

1. Похоже, он уже зарегистрирован в ScanOverlay.xib.designer.cs

Ответ №2:

Если ваш файл OverlayController находится в другой папке проекта, чем RLSampleViewController, который содержит ссылку на OverlayController. Убедитесь, что RLSampleViewController и OverlayController находятся на одном уровне или в одной папке проекта. Мы решили ту же проблему, просто переместив файлы непосредственно в папку project, а не в папку project.

Пожалуйста, также обратитесь к регистрации и пространствам имен на странице документации по генерации кода Xamarin XIB