Objective c 绑定协议无法通过协议

Objective c 绑定协议无法通过协议,objective-c,xamarin,janrain,Objective C,Xamarin,Janrain,使用Xamarin为一些外部代码创建绑定库时,我遇到了一个问题,尽管(据我所知)在协议中实现了所有选择器,但在Obj-C代码中,我的代理未能通过conformsToProtocol检查,因此代码无法工作 下面是Objective-C头文件的样子(): 这可以编译,并且似乎工作得很好,只是我遇到了一个特定方法的问题,该方法似乎不想调用我的委托类中的方法。经过大量的挖掘(以及艰苦的学习Objective-C),我相信我已经解决了这个问题。在我绑定的库中,我有: if ([delegate c

使用Xamarin为一些外部代码创建绑定库时,我遇到了一个问题,尽管(据我所知)在协议中实现了所有选择器,但在Obj-C代码中,我的代理未能通过
conformsToProtocol
检查,因此代码无法工作

下面是Objective-C头文件的样子():

这可以编译,并且似乎工作得很好,只是我遇到了一个特定方法的问题,该方法似乎不想调用我的委托类中的方法。经过大量的挖掘(以及艰苦的学习Objective-C),我相信我已经解决了这个问题。在我绑定的库中,我有:

    if ([delegate conformsToProtocol:@protocol(JRCaptureDelegate)] &&
        [delegate respondsToSelector:@selector(captureSignInDidSucceedForUser:status:)])
[Adopts("JRCaptureDelegate")] 
public class SignIn : JRCaptureDelegate
{
     // overrides for each method
}
通过一点
DLog
ing,我发现我的代理未通过
conformsToProtocol
检查(尽管它确实通过了
respondsToSelector
检查)

那么,当我的类实现了协议中的所有方法时,为什么它会失败呢。我错过了什么

我的类实现了传递给各种方法的委托,这些方法采用
jrcapturedegate
,如下所示:

public class SignIn : JRCaptureDelegate
{
     // overrides for each method
}

好吧,我想我可能已经破解了。我在我的类中添加了
adoptions
属性(在Xamarin文档的各个地方都有模糊的提及,但在创建绑定库时并不建议这样做)。现在我有了这个:

    if ([delegate conformsToProtocol:@protocol(JRCaptureDelegate)] &&
        [delegate respondsToSelector:@selector(captureSignInDidSucceedForUser:status:)])
[Adopts("JRCaptureDelegate")] 
public class SignIn : JRCaptureDelegate
{
     // overrides for each method
}

现在它通过了
conformsToProtocol
检查。我不确定为什么这不是自动的,因为我正在实现JRCaptureDelegate接口/协议。

这是正确的,目前我们不会对类似协议的conformsToProtocol自动响应yes(但我们会)。这似乎仍然没有添加。有关于这个的更新吗?