Это мой первый эксперимент с Kotlin Multiplatform, и кажется, что я не получил некоторые кусочки полностью.
Мой бэкэнд отправляет уведомление через сокет в UDP Multicast (мне, вероятно, нужно реализовать эту часть для каждой платформы, так как я не думаю, что Kotlin делает это для меня).Затем я хочу передать это сообщение (которое в виде массива байтов) в мой общий модуль.Этот модуль отвечает за анализ сообщения и возврат результатов на платформы.
Чтобы упростить мою работу, я хочу, чтобы каждая платформа возвращала ByteArray сообщения test
.
Это мой common.kt
file:
package org.kotlin.mpp.mobile
expect fun receivedEASNotification(): ByteArray
fun parseEASNotification(msg: ByteArray) {
// Use receivedEASNotification()
}
Это файл Android:
package org.kotlin.mpp.mobile
actual fun receivedEASNotification(): ByteArray {
return "test".toByteArray(Charsets.UTF_8)
}
Моя проблема в iOS
части.Я не могу понять, как преобразовать строку в ByteArray.Есть функция toCharArray()
, но нет toByteArray()
.Также есть функция toByte()
.
actual fun receivedEASNotification(): ByteArray {
return "test".toByteArray() // There is no such a function for iOS.
}