kot·lin mul·ti·plat·form /ˌkätˈlin məltiˈplatfôrm,ˌkätˈlin məltīˈplatfôrm/ noun noun: kotlin multiplatform 1.optional, natively-integrated, open-source, code sharing platform, based on the popular, modern language kotlin. facilitates non-ui logic availability on many platforms.
expect val mainThread:Boolean actual val mainThread: Boolean get() = Looper.myLooper() === Looper.getMainLooper() actual val mainThread: Boolean get() = NSThread.isMainThread()
expect val mainThread:Boolean actual val mainThread: Boolean get() = Looper.myLooper() === Looper.getMainLooper() actual val mainThread: Boolean get() = NSThread.isMainThread() actual val mainThread: Boolean = true
expect fun currentTimeMillis():Long expect fun backgroundTask(backJob:()-> B, mainJob:(B) -> Unit) expect fun backgroundTask(backJob:()->Unit) expect fun networkBackgroundTask(backJob:()->Unit) expect fun initContext():NativeOpenHelperFactory expect fun goFreeze(a:T):T expect fun T.freeze2(): T expect fun simpleGet(url:String):String expect fun logException(t:Throwable) expect fun settingsFactory(): Settings.Factory expect fun createUuid():String
actual class Date(val date:java.util.Date) { actual fun toLongMillis(): Long = date.time } actual class DateFormatHelper actual constructor(format: String) { val dateFormatter = object : ThreadLocal(){ override fun initialValue(): DateFormat = SimpleDateFormat(format) } actual fun toDate(s: String): Date = Date(dateFormatter.get()!!.parse(s)) actual fun format(d: Date): String = dateFormatter.get()!!.format(d.date) }
targets { fromPreset(presets.jvm, 'jvm') // This preset is for iPhone emulator // Switch here to presets.iosArm64 to build library for iPhone device fromPreset(presets.iosX64, 'ios') { compilations.main.outputKinds('FRAMEWORK') } }
targets { fromPreset(presets.jvm, 'jvm') // This preset is for iPhone emulator // Switch here to presets.iosArm64 to build library for iPhone device fromPreset(presets.macosX64, 'ios') /*{ compilations.main.outputKinds('FRAMEWORK') }*/ }