ankushg
10/02/2019, 8:24 PMexport
to bundle all the separate projects together.
Throughout our Kotlin codebase we have packages like com.quizlet.module1.models.StudySet
and com.quizlet.module2.models.StudySet
where the implementations of the StudySet
classes are a bit different depending on the module. This is currently causing issues for us because one of them gets mapped to QuizletFramework.StudySet
and the other to QuizletFramework.StudySet_
A few questions:
1. Am I correct that we have to build one mega-Framework instead of just having multiple frameworks with different names to avoid these collisions?
2. Is it potentially possible to have classes from each module prefixed with a unique value when exporting into one framework?
3. Is there any way around name collisions besides just ensuring that every class has a unique name?
4. Is there a way to enforce that there are no collisions at compile-time instead of running into the issue once we try consuming the framework later?Big Chungus
10/03/2019, 7:38 AM.konan
home dir for native compiler. How can I extract the property of that dir in gradle config?Big Chungus
10/03/2019, 8:04 AMmsink
10/03/2019, 12:13 PM1.3.60-eap-9
appeared in kotlin-dev
repository. K/N - 1.3.60-eap-12794
Already tried - works for me.Big Chungus
10/03/2019, 3:44 PMankushg
10/03/2019, 5:59 PM@JvmOverloads
when spitting out iOS frameworks with Kotlin/Native? Since Objective-C doesn't support default parameters, I was hoping to generate overloads like I'm used to with the JVMmgrzechocinski
10/04/2019, 10:24 AMjromero
10/04/2019, 3:21 PMmacos64
and linuxX64
). They should both be able to utilize platform.posix
and kotlin.system
. Is there an example for setting up something like that?
I tried to setup what the original Q/A had but IntelliJ showed that “Kotlin/Native 1.3.50 - stdlib” wasn’t an available dependency for that sourceSet
.Big Chungus
10/06/2019, 12:53 PMFudge
10/07/2019, 11:16 PMursus
10/08/2019, 9:12 AMThomas
10/08/2019, 6:11 PMplatform.darwin.DISPATCH_DATA_DESTRUCTOR_DEFAULT
not appear as a dispatch_block_t
? Just like DISPATCH_DATA_DESTRUCTOR_FREE
, which does appear to be correct. Instead of dispatch_block_t
it appears as kotlinx.cinterop.COpaquePointer?
. I have no idea how I can use that as a dispatch block.Nikita Klimenko
10/09/2019, 12:13 PMJustin
10/09/2019, 6:34 PMIR VALIDATION
compiler warnings for their iOS target?Thomas
10/10/2019, 5:41 PMBig Chungus
10/12/2019, 10:52 AMMarcin Wisniowski
10/12/2019, 6:40 PMkrotki
10/12/2019, 8:08 PMMarcin Wisniowski
10/13/2019, 12:15 AM.def
file, seems to work, I have autocompletion of library functions, project compiles, but fails when linking. I have a compiled .so
file for the library, but cannot find how to make my project use it.mben
10/14/2019, 10:25 AMdeactivateduser
10/14/2019, 11:12 AMdeactivateduser
10/14/2019, 5:44 PMPrateek Grover
10/15/2019, 7:51 AMdeactivateduser
10/15/2019, 10:30 AMKonstantin Petrukhnov
10/15/2019, 1:42 PMPrateek Grover
10/16/2019, 7:20 AM"Compilation failed: no implementation for @kotlin.native.Symbol Name public final external fun compareAndSet(expected: kotlin.Int, new: kotlin.Int): kotlin.Boolean defined in kotlin.native.concurrent.AtomicInt[DeserializedSimpleFunctionDescriptor@7f4a1cac] in deserialized class AtomicInt"but the second one passed. I see that there is no implementation in the class in the first case while there is one in the latter.
Andy Gibel
10/17/2019, 1:19 PMapi
dependencies?Sam Schilling
10/17/2019, 4:00 PMA
has a dependency B
that is another Kotlin library that it brings in through gradle via a maven repo. In B
I have a class that is structured like this:
open class Fail(val code: IFailCode = CODE.ERROR_404) {
enum class CODE(override val description: String, override val code: Int) : IFailCode {
ERROR_404("Resource could not be found", 404),
…
}
interface IFailCode {
val code: Int
val description: String
}
}
The weird thing is that when I use the generated framework from A
in a Swift app, I can access Fail
and IFailCode
, but not the enum class CODE
. Also of note, they are named BFail
and BFailIFailCode
. Following this pattern I would expect CODE
to be accessible as BFailCODE
but it is not.
Why wouldn’t I be able to access CODE
from Swift when I can access Fail
and IFailCode
? The only difference I see is that one is an enum while the other two are a class and an interface. Do these behave differently when converted to objc framework?Sam Schilling
10/18/2019, 4:03 PMolonho
10/18/2019, 6:45 PMolonho
10/18/2019, 6:45 PMribesg
10/21/2019, 8:25 AMDefining UI with storyboards in pure Kotlin iOS applications is supported as well.
Isn’t that misleading? I wouldn’t call manually editing the Storyboard’s XML to use IBOutlets “supported”