Нет Intellisense в Xamarin iOS Bindings Library

79
4

Я пытаюсь создать библиотеку связывания, но у меня нет поддержки Intellisense в Visual Studio 2013. Мой компьютер с Windows подключен к MacOS 10 (El Capitan) с последней Xamarin Studio на нем и даже с последним XCode 8 ( Я не знаю, если это необходимо)

Я не знаю, есть ли какие-либо ссылки. Я пытаюсь добавить поддержку вспомогательной библиотеки для iOS под названием "libdtdev.a" и соответствующий заголовок "DTDevices.h". Хотя VS успешно создает проект, я не могу использовать библиотеку в другом проекте Xamarin.iOS. В следующем коде "BaseType", "NSObject" и синтаксис "Экспорт" неизвестны.

using System;

using ObjCRuntime;
using Foundation;
using UIKit;

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

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

Так Intellisense отображает доступные параметры:

enter image description here

Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно? Не хватает ли некоторых ссылок? Это все ссылки Mono, которые я установил на моем клиенте Windows, но по умолчанию выбран только "Xamarin.iOS":

These are the only Mono references I can add

Я последовал за учебником в Пошаговом руководстве : привязка библиотеки Objective-C iOS

спросил(а) 2016-09-19T09:52:00+03:00 4 года назад
1
Решение
70

Xamarin не предлагает IntelliSense для такого сценария. Было бы хорошей идеей на самом деле подавать ошибку, так что команда Xamarin могла бы ее улучшить.

Что касается привязок iOS и ApiDefinition, предлагаемый способ - использовать инструмент Sharpie, который может генерировать ApiDefinition из.h заголовочного файла (который вы упомянули у вас есть). Таким образом, вам не нужно писать код самостоятельно и не нужно IntelliSense

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

Отличный пример

sharpie bind -output DTDevices -namespace DTDevices -sdk iphoneos8.1 путь к DTDevices.h -unified

Убедитесь, что вы используете допустимое значение для опции -sdk.

ответил(а) 2016-10-05T21:18:00+03:00 3 года, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема