未捕获的Kotlin异常:kotlin.ClassCastException:kotlin.UInt无法转换为kotlinx.cinterop.CValuesRef
在Kotlin Multiplatform中使用以下代码进行iOS的SSL固定。
SecTrustEvaluate(serverTrust !!,结果为CValuesRef)
答案 0 :(得分:1)
不能将值转换为指针类型。您必须分配本机内存,将值放入其中,然后将指向该内存的指针传递给函数。最后,它看起来必须像这样:
memScoped{
val nativeResult = alloc<SecTrustResultTypeVar>()
nativeResult.value = result
SecTrustEvaluate(serverTrust!!, nativeResult.ptr)
}
在这里,我在memScoped
块中分配了内存,因此该块结束时将自动释放它。请尝试这种方法,并确定是否会出问题,好吗?