首页 > 解决方案 > Xamarin iOS 目标 c 绑定库无法创建该类型的本机实例

问题描述

我为 Xamarin iOS 创建了一个绑定项目。我成功地添加了本机库,创建了 C# 绑定并解决了我发现的所有数百个错误,一旦我尝试运行该库(在 iPhone 模拟器上的应用程序中)就会出现此错误:

无法创建“MyNamespace.STPPaymentCardTextField”类型的本机实例:本机类尚未加载。

这是objective-c中接口的签名:

@interface STPPaymentCardTextField : UIControl <UIKeyInput>

这是我在 C# iOS 绑定中得到的:

[BaseType(typeof(UIControl))]
[Protocol]
interface STPPaymentCardTextField : IUIKeyInput

我阅读了这个 stackoverflow答案并检查了构建我的库的架构,这是架构,考虑到我在 iOS 模拟器上运行它:

是:i386 x86_64

这是我用来构建库的脚本:

all: lib$(TARGET).a

lib$(TARGET)-i386.a:
  $(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphonesimulator -configuration Release 
clean build
 -mv $(PROJECT_ROOT)/build/Release-iphonesimulator/lib$(TARGET).a $@


lib$(TARGET).a: lib$(TARGET)-i386.a 
  xcrun -sdk iphoneos lipo -create -output $@ $^

clean:
  -rm -f *.a *.dll

请问我该如何解决这个错误?

标签: c#iosobjective-cxamarin.iosxamarin.ios-binding

解决方案


您能否确保在框架下列出了“UIKit”。“本机引用->“本机库的属性”->“框架:UIKit”


推荐阅读