我有一个用Objective-c编写的.framework文件夹。我在Xamarin.iOS中创建了一个绑定项目,并将其添加为本机框架。我使用ApiDefinition.cs
生成了Enum.cs
和Sharpie
。
在框架的指导中(指导仅用于本机集成。不适用于Xamarin.iOS)
要开始注册,请调用 registerWith ...:和Reference:onSignIn:方法之一。 例如:
// the registration URL is from an Universal Link
[yourSDKPointer.agentHandler registerWithURL:<#The registration URL#>
andReference:<#The reference to be used when sending notification#>
onSignIn:^(LSMARegistrationStatus_t statusCode, RegistrationError_t status){
if (statusCode == LSMARegistrationStatus_registered) {
NSLog(@"Registration successful!");
}
}];
在我的Xamarin项目中,我有一个抽象类,该类具有registerWithURL
抽象方法。
[BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
[Export("registerWithURL:andReference:onSignIn:")]
public abstract void RegisterWithURL(string url, string referenceID, [BlockProxy(typeof(NIDregistrationBlock))] registrationBlock registrationBlock);
我不得不从上述类创建一个子类来覆盖方法。然后就像
public override void RegisterWithCode(string code, string referenceID, registrationBlock registrationBlock)
{
//throw new NotImplementedException();
}
This是我的ApiDefinition.cs
但是据我所知,如果我们在Objective-c中执行此操作,则可以调用指南中提到的方法。我无法实现他们在框架中实现的东西。有人遇到过这种情况吗? 请帮我。