无法将kotlin.UInt强制转换为kotlinx.cinterop.CValuesRef

未捕获的Kotlin异常:kotlin.ClassCastException:kotlin.UInt无法转换为kotlinx.cinterop.CValuesRef

在Kotlin Multiplatform中使用以下代码进行iOS的SSL固定。

SecTrustEvaluate(serverTrust !!,结果为CValuesRef)

z81452418 回答:无法将kotlin.UInt强制转换为kotlinx.cinterop.CValuesRef

不能将值转换为指针类型。您必须分配本机内存,将值放入其中,然后将指向该内存的指针传递给函数。最后,它看起来必须像这样:

memScoped{
    val nativeResult = alloc<SecTrustResultTypeVar>()
    nativeResult.value = result
    SecTrustEvaluate(serverTrust!!,nativeResult.ptr)
}

在这里,我在memScoped块中分配了内存,因此该块结束时将自动释放它。请尝试这种方法,并确定是否会出问题,好吗?

本文链接:https://www.f2er.com/3139340.html

大家都在问