1

バインド ライブラリを作成しようとしていますが、Visual Studio 2013 で Intellisense がサポートされていません。私の Windows コンピューターは、最新の Xamarin Studio と最新の XCode 8 (これが必要かどうかはわかりません)

欠落している参照があるかどうかはわかりません。「libdtdev.a」と対応するヘッダー「DTDevices.h」と呼ばれる iOS 用アクセサリ ライブラリのサポートを追加しようとしています。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 参照です

ウォークスルー: Binding an iOS Objective-C Libraryのチュートリアルに従いました。

4

1 に答える 1

0

Xamarin は、このようなシナリオ向けの IntelliSense を提供していません。Xamarin チームが改善できるように、実際にバグを報告することをお勧めします。

iOSバインディングとApiDefinitionに関して、推奨される方法は、.hヘッダーファイルからApiDefinitionを生成できるSharpieツールを使用することです(あなたが持っていると述べました)。この方法では、自分でコードを記述する必要がなく、IntelliSense も必要ありません。

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

素晴らしい例がすぐそこにあります

シャーピー バインド -出力 DTDevices -名前空間 DTDevices -sdk iphoneos8.1 へのパス-DTDevices.h -統合

-sdk オプションに有効な値を使用していることを確認してください。

于 2016-10-05T18:18:48.510 に答える