IceRock Development
1 min readJul 17, 2019

--

Yes, we move some resources in shared module — now it string resources. We create expect object MR, just like android R class and in actual realization set real identifiers.

common:

expect object MR {
@Suppress("ClassName")
object string {
val no_network_error: StringResource
val unknown_error: StringResource
val empty: StringResource
val retry: StringResource
}
}

android:

actual object MR {
@Suppress("ClassName")
actual object string {
actual val no_network_error = StringResource(R.string.common_noNetworkError)
actual val unknown_error = StringResource(R.string.common_unknownError)
actual val empty = StringResource(R.string.common_empty)
actual val retry = StringResource(R.string.common_retry)
}
}

ios:

actual object MR {
@Suppress("ClassName")
actual object string {
actual val no_network_error = StringResource("common.noNetworkError")
actual val unknown_error = StringResource("common.unknownError")
actual val empty = StringResource("common.empty")
actual val retry = StringResource("common.retry")
}
}

and on android resources files in androidSourceSet of shared library, but on ios resource now in app — we just use keys in shared library

--

--

IceRock Development
IceRock Development

Written by IceRock Development

📱IOS&Android Mobile Application Development 🔝Kotlin Multiplatform technology experts https://icerockdev.com/

Responses (1)