Xamarin iOS绑定库中没有智能感知

问题描述:

我正在尝试创建一个绑定库,但我没有Visual Studio 2013中的Intellisense支持。我的Windows计算机连接到带有最新Xamarin的MacOS 10(El Capitan)工作室,甚至最新的XCode 8(我不知道这是否必要)Xamarin iOS绑定库中没有智能感知

我不知道是否有任何引用缺失。我试图添加对iOS附件库的支持,称为“libdtdev.a”和相应的头文件“DTDevices.h”。尽管VS成功构建了该项目,但我无法在另一个Xamarin.iOS项目中使用该库。在下面的代码中,“BaseType”,“NSObject”和“Export”语法是未知的。

using System; 

using ObjCRuntime; 
using Foundation; 
using UIKit; 

namespace LineaProSDK 
{ 
    [BaseType(typeof(NSObject))] 
    interface DTDevices 
    { 

     [Export("sharedDevice")] 
     DTDevices sharedDevice(); 
    } 
} 

这是智能感知如何显示可用的选项:

enter image description here

有人可以告诉我什么,我做错了吗?我是否缺少一些参考?这些都是单声道引用我已经安装了Windows客户机上,但只有“Xamarin.iOS”被默认选择:

These are the only Mono references I can add

我也跟着在Walkthrough: Binding an iOS Objective-C Library

Xamarin教程不提供智能感知对于这种情况。实际上提交一个bug是一个好主意,所以Xamarin团队可以改进它。

关于iOS绑定和ApiDefinition,建议的方法是使用Sharpie工具,它可以从.h头文件(你提到你有)生成ApiDefinition。这样,你不需要编写代码自己,并不需要智能感知

https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/walkthrough/#Using_Objective_Sharpie

很好的例子就在那里

记号笔绑定 - 输出DTDevices - 命名DTDevices -sdk iphoneos8.1 path-to-DTDevices.h -unified

确保您使用-sdk选项的有效值。