我开发了一个 swift 框架作为 xcframework 并为它创建了 xamarin 绑定。在框架中,调用是作为单例类进行的
MyFramework.shared.start()
共享的是一个单例实例
static let shared = MyFramework()
在 Xamarin 中制作 dll 并调用 start 方法后,它会因为在 null 中共享而崩溃。该ApiDefinition.cs
文件在下面提供。有人可以帮助如何分配共享实例。
using Foundation;
using ObjCRuntime;
// @interface LeapCreator : NSObject
[BaseType(typeof(NSObject), Name = "_TtC14MyFrameworkSDK11MyFramework")]
[Protocol]
interface MyFramework
{
// @property (readonly, nonatomic, strong, class) MyFramework * _Nonnull shared;
[Static]
[Export("shared", ArgumentSemantic.Strong)]
MyFramework Shared { get; }
// -(void)start:(NSString * _Nonnull)apiKey;
[Export("start:")]
void Start(string apiKey);
}