В Objective-Sharpie ApiDefinition содержатся перегруженные методы?
После того, как я почесал голову, я наконец получил шулер, чтобы связать .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 ответ
- Исправлены предупреждения, комментируя дублированные реализации в сгенерированном коде, т.е. те, которые имеют одинаковые параметры и т. Д.
- Удалены пустые сгенерированные интерфейсы.
- Закомментировал "используя xxx(ваше имя SDK)" в ApiDefinition.cs - не уверен на 100%, почему это было необходимо!