Objective-Charp ApiDefinition содержит перегруженные методы? - PullRequest
0 голосов
/ 28 августа 2018

После некоторого царапания на голове у меня наконец-то возникло стремление к точному связыванию файла .framework, однако генерируемый файл ApiDefinition.cs содержит некоторые ошибки.

    // @optional -(void)flyerView:(WFKFlyerView * _Nonnull)flyerView gotSingleTap:(id<WFKFlyerViewTapAnnotation> _Nullable)annotation atPoint:(CGPoint)point;
    [Export("flyerView:gotSingleTap:atPoint:")]
    void FlyerView(WFKFlyerView flyerView, [NullAllowed] WFKFlyerViewTapAnnotation annotation, CGPoint point);

    // @optional -(void)flyerView:(WFKFlyerView * _Nonnull)flyerView gotDoubleTap:(id<WFKFlyerViewTapAnnotation> _Nullable)annotation atPoint:(CGPoint)point;
    [Export("flyerView:gotDoubleTap:atPoint:")]
    void FlyerView(WFKFlyerView flyerView, [NullAllowed] WFKFlyerViewTapAnnotation annotation, CGPoint point);

    // @optional -(void)flyerView:(WFKFlyerView * _Nonnull)flyerView gotLongPress:(id<WFKFlyerViewTapAnnotation> _Nullable)annotation atPoint:(CGPoint)point;
    [Export("flyerView:gotLongPress:atPoint:")]
    void FlyerView(WFKFlyerView flyerView, [NullAllowed] WFKFlyerViewTapAnnotation annotation, CGPoint point);

Так что на самом деле это не скомпилируется, потому что Visual Studio удачно указывает, что методы имеют одно и то же определение, несмотря на то, что имеют разные атрибуты [Export]. Я попытался изменить его, чтобы был только один метод с несколькими атрибутами [Export], но это тоже недопустимо. Не уверен, что здесь делать.

Кроме того, наверху есть оператор using, который, как мне кажется, пытается указать на мой Native Reference, который я настроил в проекте Xamarin в Visual Studio для Mac, но он не работает (type or namespace could not be found are you missing an assembly reference, etc.)

Любая помощь высоко ценится!

1 Ответ

0 голосов
/ 29 августа 2018
  1. Исправлены предупреждения путем комментирования дублирующихся реализаций в сгенерированном коде, то есть тех, которые имеют одинаковые параметры и т. Д.
  2. Удалены пустые сгенерированные интерфейсы.
  3. Закомментировал «используя xxx (ваше имя SDK)» в ApiDefinition.cs - не уверен на 100%, почему это было необходимо!
...