Как следует из названия, в Swift добавление import Network
может использовать NWMulticastGroup
для создания многоадресной рассылки, но Kotlin/Native для ios/macos по-прежнему не может использовать NWMulticastGroup после import platform.Network.*
в src/appleMain
. Что мне мешает использовать NWMulticastGroup
? Или этот вариант использования в настоящее время не поддерживается? Спасибо!
Дополнительная информация:
котлин: 2.0.0
степень: 8,8
хост: macOS 14.4.1
build.gradle.kts:
plugins {
alias(libs.plugins.kotlin.multiplatform) // version "2.0.0"
}
kotlin {
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64(),
macosArm64(),
macosX64(),
).forEach { target ->
target.binaries.framework {
baseName = "shared"
isStatic = true
}
}
sourceSets {
commonMain.dependencies {
implementation(libs.kotlin.coroutines)
}
}
}
NWMulticastGroup
написан на Swift, а Kotlin пока не может взаимодействовать со Swift.
Другими словами, в Kotlin вы можете использовать только те части Network.framework, которые доступны для (Objective-)C. Например, вместо создания NWMulticastGroup
вам нужно будет вызвать nw_group_descriptor_create_multicast . Дополнительную информацию см. в версии Objective-C документации Network.framework. Если кратко взглянуть, API, доступные для Kotlin, в основном имеют однозначное соответствие с API Swift — просто первый гораздо более «C-подобен».
Я также нашел этот пост, в котором показана версия Objective-C некоторого кода Swift с использованием Network.framework. Это тоже может быть полезно.