我试图通过iOS代码库在C++上实现生物鉴别。这是一个例子。
为了实现这一点,我需要使用LAContext obj-c API。但是,当我尝试从C++初始化类时,会得到一个指针/引用错误:
// Cannot initialize a variable of type 'LAContext *__strong' with an rvalue of type 'LAContext'
LAContext* authContext = LAContext();有办法做到这一点吗?还是这个结构只适用于Obj?
编辑1:
我的文件是Obj++,所以理论上我应该能够混合C++和Obj代码,但是当我试图编写一个Obj函数来分配LAContext对象时,我会得到一个缺少的符号错误:
-(bool)biometricsAvailable {
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
return true;
}在编译步骤中,引发此错误:
Undefined symbol: _OBJC_CLASS_$_LAContextXCode本身在编辑文件时不显示任何错误,只有在我试图构建/编译应用程序时才会发生。
发布于 2022-04-21 13:16:52
事实证明,问题不在于混合C++和Obj代码,而是因为我的库是通过cocoapods链接的,而缺少LocalAuthentication框架。
我需要补充一句:
s.frameworks = "LocalAuthentication" 对于podspec和创建一个LAContext实例来说,效果很好。
https://stackoverflow.com/questions/71951408
复制相似问题