2016-09-19 8 views
0

바인딩 라이브러리를 만들려고하지만 Visual Studio 2013에서 Intellisense를 지원하지 않습니다. 내 Windows 컴퓨터가 MacOS 10 (El Capitan)에 최신 Xamarin Studio와 최신 XCode 8조차도 (필자는 이것이 필요한지 모르겠다.)Xamarin에 Intellisense 없음 iOS 바인딩 라이브러리

누락 된 참조가 있는지 나는 모른다. 나는 "libdtdev.a"라고 불리는 iOS 용 부속 라이브러리와 해당 헤더 "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은"기본적으로 선택되어 있습니다 : 나는 인텔리을 제공하지 않습니다 Walkthrough: Binding an iOS Objective-C Library

답변

0

자 마린에서 튜토리얼을 따라

These are the only Mono references I can add

그러한 시나리오를 위해. 실제로 Xamarin 팀이 그것을 개선 할 수 있도록 버그를 제출하는 것이 좋습니다.

iOS 바인딩 및 ApiDefinition과 관련하여 제안 된 방법은 .h 헤더 파일에서 ApiDefinition을 생성 할 수있는 Sharpie 도구를 사용하는 것입니다. 필요하지 않은이 방법은 직접 코드를 작성하고 인텔리 필요가 없습니다

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

좋은 예는 바로 거기에있다

샤피 바인드 - 출력 DTDevices -namespace DTDevices -sdk iphoneos8.1 path-to-DTDevices.h -unified

-sdk 옵션에 올바른 값을 사용하고 있는지 확인하십시오.