Ios 无法将kotlin.UInt强制转换为kotlinx.cinterop.CValuesRef
未捕获的Kotlin异常:Kotlin.ClassCastException:Kotlin.UInt无法强制转换为kotlinx.cinterop.CValuesRef 在Kotlin Multiplatform中使用以下代码进行iOS的SSL固定Ios 无法将kotlin.UInt强制转换为kotlinx.cinterop.CValuesRef,ios,kotlin,kotlin-multiplatform,Ios,Kotlin,Kotlin Multiplatform,未捕获的Kotlin异常:Kotlin.ClassCastException:Kotlin.UInt无法强制转换为kotlinx.cinterop.CValuesRef 在Kotlin Multiplatform中使用以下代码进行iOS的SSL固定 SecTrustEvaluate(serverTrust!!,结果为CValuesRef)无法将值强制转换为指针类型。您需要分配本机内存,将值放入其中,然后将指向该内存的指针传递到函数中。最后,它必须看起来像: memScoped{ val
SecTrustEvaluate(serverTrust!!,结果为CValuesRef)无法将值强制转换为指针类型。您需要分配本机内存,将值放入其中,然后将指向该内存的指针传递到函数中。最后,它必须看起来像:
memScoped{
val nativeResult = alloc<SecTrustResultTypeVar>()
nativeResult.value = result
SecTrustEvaluate(serverTrust!!, nativeResult.ptr)
}
memScoped{
val nativeResult=alloc()
nativeResult.value=结果
SecTrustEvaluate(serverTrust!!,nativeResult.ptr)
}
在这里,我在
memScoped
块中分配了内存,因此当块完成时,它将自动释放。请尝试这种方法,并告诉我是否会出错,好吗?我在这行“val remoteCertificateData:NSData=SecCertificateCopyData(certificate)as NSData”上也遇到了崩溃。未捕获的Kotlin异常:Kotlin.TypeCastException我不确定即使在Swift中也能进行这种类型的转换。换句话说,您应该通过特殊函数来处理这样的强制转换(CoreFoundation),这里是IIRC。已经讨论过一个类似的问题,它是Kotlin/本地官方问题跟踪者。