Can I see your code? (especially Scope and Dispatcher class)
Yuya Horita

private class MainDispatcher: CoroutineDispatcher() {
override fun dispatch(context: CoroutineContext, block: Runnable) {
dispatch_async(dispatch_get_main_queue()) { }

internal class MainScope : CoroutineScope{
private val dispatcher = MainDispatcher()
private val job = Job()

override val coroutineContext: CoroutineContext
get() = dispatcher + job

as far I can tell it is exactly as you wrote

actual fun getRandomString(block: ((String) -> Unit)) {
MainScope().launch {
block("random string")

and this is the code that errors when called from iOS.