c# - 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
请问我该如何解决这个错误?
解决方案
您能否确保在框架下列出了“UIKit”。“本机引用->“本机库的属性”->“框架:UIKit”
推荐阅读
- excel - Mac 上的 VBA Excel:打印/导出为 PDF
- c# - 使用 Web 服务部署 asp netcore 2.1
- ios - 如何在没有 iPhone 的情况下在 Windows 上为 iPhone 调试网站?
- swift - 在 SPM 项目中使用 vDSP_normalizeD 在 nil 上出现编译器错误
- reactjs - 触发状态“selectedOptions2”时如何映射()
- c# - 支持对象为 NULL 时的 WPF 条件绑定
- php - 特定 if 语句的含义
- vue.js - VueX - 在与动作不同的模块中调度动作
- javascript - 如何响应龙卷风中的 GET 请求?
- node.js - 如何在不知道分布的情况下将彼此靠近的项目分组?