1

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

不知道有没有遗漏的参考资料。我正在尝试添加对 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();
    } 
}

这是 Intellisense 显示可用选项的方式:

在此处输入图像描述

有人可以告诉我我做错了什么吗?我错过了一些参考吗?这些是我在 Windows 客户端上安装的所有 Mono 引用,但默认情况下仅选择“Xamarin.iOS”:

这些是我可以添加的唯一 Mono 参考

我遵循了演练中的教程:绑定 iOS Objective-C 库

4

1 回答 1

0

Xamarin 不为这种情况提供 IntelliSense。实际为此提交错误是一个好主意,以便 Xamarin 团队可以改进它。

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

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

很好的例子就在那里

Sharpie 绑定-输出 DTDevices -namespace DTDevices -sdk iphoneos8.1 path-to-DTDevices.h -unified

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

于 2016-10-05T18:18:48.510 回答