https://kotlinlang.org logo
Docs
Join the conversationJoin Slack
Channels
100daysofcode
100daysofkotlin
100daysofkotlin-2021
advent-of-code
aem
ai
alexa
algeria
algolialibraries
amsterdam
android
android-architecture
android-databinding
android-studio
androidgithubprojects
androidthings
androidx
androidx-xprocessing
anime
anko
announcements
apollo-kotlin
appintro
arabic
argentina
arkenv
arksemdevteam
armenia
arrow
arrow-contributors
arrow-meta
ass
atlanta
atm17
atrium
austin
australia
austria
awesome-kotlin
ballast
bangladesh
barcelona
bayarea
bazel
beepiz-libraries
belgium
berlin
big-data
books
boston
brazil
brikk
budapest
build
build-tools
bulgaria
bydgoszcz
cambodia
canada
carrat
carrat-dev
carrat-feed
chicago
chile
china
chucker
cincinnati-user-group
cli
clikt
cloudfoundry
cn
cobalt
code-coverage
codeforces
codemash-precompiler
codereview
codingame
codingconventions
coimbatore
collaborations
colombia
colorado
communities
competitive-programming
competitivecoding
compiler
compose
compose-android
compose-desktop
compose-hiring
compose-ios
compose-mp
compose-ui-showcase
compose-wear
compose-web
connect-audit-events
corda
cork
coroutines
couchbase
coursera
croatia
cryptography
cscenter-course-2016
cucumber-bdd
cyprus
czech
dagger
data2viz
databinding
datascience
dckotlin
debugging
decompose
decouple
denmark
deprecated
detekt
detekt-hint
dev-core
dfw
docs-revamped
dokka
domain-driven-design
doodle
dsl
dublin
dutch
eap
eclipse
ecuador
edinburgh
education
effective-kotlin
effectivekotlin
emacs
embedded-kotlin
estatik
event21-community-content
events
exposed
failgood
fb-internal-demo
feed
firebase
flow
fluid-libraries
forkhandles
forum
fosdem
fp-in-kotlin
framework-elide
freenode
french
fritz2
fuchsia
functional
funktionale
gamedev
ge-kotlin
general-advice
georgia
geospatial
german-lang
getting-started
github-workflows-kt
glance
godot-kotlin
google-io
gradle
graphic
graphkool
graphql
graphql-kotlin
graviton-browser
greece
grpc
gsoc
gui
hackathons
hacktoberfest
hamburg
hamkrest
helios
helsinki
hexagon
hibernate
hikari-cp
hire-me
hiring
hongkong
hoplite
http4k
hungary
hyderabad
image-processing
india
indonesia
inkremental
intellij
intellij-plugins
intellij-tricks
internships
introduce-yourself
io
ios
iran
israel
istanbulcoders
italian
jackson-kotlin
jadx
japanese
jasync-sql
java-to-kotlin-refactoring
javadevelopers
javafx
javalin
javascript
jdbi
jhipster-kotlin
jobsworldwide
jpa
jshdq
juul-libraries
jvm-ir-backend-feedback
jxadapter
k2-early-adopters
kaal
kafka
kakao
kalasim
kapt
karachi
karg
karlsruhe
kash_shell
kaskade
kbuild
kdbc
kgen-doc-tools
kgraphql
kinta
klaxon
klock
kloudformation
kmdc
kmm-español
kmongo
knbt
knote
koalaql
koans
kobalt
kobweb
kodein
kodex
kohesive
koin
koin-dev
komapper
kondor-json
kong
kontent
kontributors
korau
korean
korge
korim
korio
korlibs
korte
kotest
kotest-contributors
kotless
kotlick
kotlin-asia
kotlin-beam
kotlin-by-example
kotlin-csv
kotlin-data-storage
kotlin-foundation
kotlin-fuel
kotlin-in-action
kotlin-inject
kotlin-latam
kotlin-logging
kotlin-multiplatform-contest
kotlin-mumbai
kotlin-native
kotlin-pakistan
kotlin-plugin
kotlin-pune
kotlin-roadmap
kotlin-samples
kotlin-sap
kotlin-serbia
kotlin-spark
kotlin-szeged
kotlin-website
kotlinacademy
kotlinbot
kotlinconf
kotlindl
kotlinforbeginners
kotlingforbeginners
kotlinlondon
kotlinmad
kotlinprogrammers
kotlinsu
kotlintest
kotlintest-devs
kotlintlv
kotlinultimatechallenge
kotlinx-datetime
kotlinx-files
kotlinx-html
kotrix
kotson
kovenant
kprompt
kraph
krawler
kroto-plus
ksp
ktcc
ktfmt
ktlint
ktor
ktp
kubed
kug-leads
kug-torino
kvision
kweb
lambdaworld_cadiz
lanark
language-evolution
language-proposals
latvia
leakcanary
leedskotlinusergroup
lets-have-fun
libgdx
libkgd
library-development
linkeddata
lithuania
london
losangeles
lottie
love
lychee
macedonia
machinelearningbawas
madrid
malaysia
mathematics
meetkotlin
memes
meta
metro-detroit
mexico
miami
micronaut
minnesota
minutest
mirror
mockk
moko
moldova
monsterpuzzle
montreal
moonbean
morocco
motionlayout
mpapt
mu
multiplatform
mumbai
munich
mvikotlin
mvrx
myndocs-oauth2-server
naming
navigation-architecture-component
nepal
new-mexico
new-zealand
newname
nigeria
nodejs
norway
npm-publish
nyc
oceania
ohio-kotlin-users
oldenburg
oolong
opensource
orbit-mvi
osgi
otpisani
package-search
pakistan
panamá
pattern-matching
pbandk
pdx
peru
philippines
phoenix
pinoy
pocketgitclient
polish
popkorn
portugal
practical-functional-programming
proguard
prozis-android-backup
pyhsikal
python
python-contributors
quasar
random
re
react
reaktive
realm
realworldkotlin
reductor
reduks
redux
redux-kotlin
refactoring-to-kotlin
reflect
refreshversions
reports
result
rethink
revolver
rhein-main
rocksdb
romania
room
rpi-pico
rsocket
russian
russian_feed
russian-kotlinasfirst
rx
rxjava
san-diego
science
scotland
scrcast
scrimage
script
scripting
seattle
serialization
server
sg-user-group
singapore
skia-wasm-interop-temp
skrape-it
slovak
snake
sofl-user-group
southafrica
spacemacs
spain
spanish
speaking
spek
spin
splitties
spotify-mobius
spring
spring-security
squarelibraries
stackoverflow
stacks
stayhungrystayfoolish
stdlib
stlouis
strife-discord-lib
strikt
students
stuttgart
sudan
swagger-gradle-codegen
swarm
sweden
swing
swiss-user-group
switzerland
talking-kotlin
tallinn
tampa
teamcity
tegal
tempe
tensorflow
terminal
test
testing
testtestest
texas
tgbotapi
thailand
tornadofx
touchlab-tools
training
tricity-kotlin-user-group
trójmiasto
truth
tunisia
turkey
turkiye
twitter-feed
uae
udacityindia
uk
ukrainian
uniflow
unkonf
uruguay
utah
uuid
vancouver
vankotlin
vertx
videos
vienna
vietnam
vim
vkug
vuejs
web-mpp
webassembly
webrtc
wimix_sentry
wwdc
zircon
Powered by Linen
touchlab-tools
  • l

    lavong

    02/08/2020, 10:11 AM
    👋🏼 hey guys, thx for publishing kampkit! very curious about what you guys began with the multiplatform koin implementation (https://github.com/touchlab/KaMPKit/blob/master/buildSrc/src/main/java/Dependencies.kt#L34). care telling us a little about it? how is it working? how does injection look like on the iOS side of things?
    k
    • 2
    • 4
  • s

    Samuel Michael

    02/10/2020, 8:02 AM
    how can i configure the kaMP it is not building
    k
    • 2
    • 5
  • y

    yukuku

    02/12/2020, 9:10 AM
    This is just after following the instructions in https://github.com/touchlab/KaMPKit/blob/master/docs/APP_BUILD.md, using Android Studio 3.5.3
    t
    m
    +2
    • 5
    • 6
  • u

    ubuntudroid

    02/12/2020, 2:25 PM
    Hi, I've just started to play around with the kampkit sample app on my Mac. Android works like a charm. However, on iOS I can't seem to build the app. I always get the dreaded "To use the “java” command-line tool you need to install a JDK." dialog. However, I have java and the JDK installed on my system, although not in the default location. I'm using
    sdkman
    to manage java versions, current version resides at
    /Users/ubuntudroid/.sdkman/candidates/java/current
    . I guess I somehow need to tell xcode to use that. JAVA_HOME environment variable is set to the abovementioned value, but xcode seems not to make use of it (I guess it only looks in the default . Any ideas?
    m
    k
    • 3
    • 37
  • n

    Nick Halase

    02/16/2020, 7:56 PM
    FYI: preliminary testing of Gradle 6.1.1 (latest) seems to work with KaMPKit out-of-the-box. Biggest benefits IMO are the ability to reuse Gradle's dependency cache in CI, better integration with Maven BOMs, gradle module metadata is enabled by default and built-in javadoc/sources Jar tasks
    👍 1
    k
    • 2
    • 3
  • p

    phldavies

    02/17/2020, 3:11 PM
    Is it at all possible to get code completion for iOS on a non-iOS machine? I'd like to be able to at least put together basic first-pass implementations from my linux workstation when making changes to the shared module if possible.
    r
    m
    • 3
    • 8
  • c

    coletz

    03/04/2020, 9:59 PM
    Hi guys, I cloned the kampkit project and tried running it with intellij idea ce 2019.3.3; Got this error: ERROR: Cause: invalid type code: 00 New Gradle Sync is not supported due to containing Kotlin modules anyone know what's going on?
    • 1
    • 1
  • s

    scottyab

    03/06/2020, 2:25 PM
    Hi, When trying to run the commons tests I’m seeing a compile error. Using master cloned today hash
    b18f8da3d9ca391f96b75cc4961c9aabc3953968
    KaMPKit/shared/src/commonTest/kotlin/co/touchlab/kampstarter/BreedModelTest.kt: (24, 17): No value passed for parameter 'viewUpdate'
    `https://github.com/touchlab/KaMPKit/blob/e2062942126c20c51aebcd5e1cd9d29bb56b5f55/shared/src/commonTest/kotlin/co/touchlab/kampstarter/BreedModelTest.kt#L20 Is this a known issue? or am I missing something
    r
    c
    • 3
    • 3
  • k

    kpgalligan

    03/08/2020, 3:22 PM
    In some client work we’re doing, we just keep everything main thread for now to stick to 1 scope, but this all assumes this issue is resolved soon, or we’ll need to come up with an alternate solution.
    😮 1
    a
    • 2
    • 1
  • a

    Archie

    03/10/2020, 4:13 AM
    I don't understand why updating the
    ktor
    dependency from
    1.2.6
    to
    1.3.1
    results in
    http.http: Error There is no event loop. Use runBlocking { ... } to start one.
    r
    • 2
    • 2
  • a

    Archie

    03/15/2020, 12:33 PM
    Hi, is it okey to ask non-kampkit questions here but general KMP Questions? Such as cinterop?
    r
    • 2
    • 3
  • r

    ritesh

    03/24/2020, 4:34 PM
    Hey folks 👋 Wondering if KampKit allow us to export fat framework? If not then any leads would be really helpful on how to achieve it, thanks 🙌
    r
    • 2
    • 5
  • j

    j.l.

    03/25/2020, 9:34 PM
    Hello all. I am trying to build the ios part of the KaMPKit project in the terminal using
    ./gradlew build
    , but i keep getting failing unit tests. I'll post the stack trace in the comments. I don't know what to do. I am using JDK 1.8. Help would be appreciated!
    r
    • 2
    • 7
  • j

    j.l.

    03/27/2020, 5:38 PM
    I wanted to read the longer intro into KaMPKit but was hit with the GitHub 404 page. Do I need special access privileges? https://github.com/touchlab/KaMPKit/blob/master/WHAT_AND_WHY.md
    r
    • 2
    • 1
  • m

    michael.whyte

    04/03/2020, 10:19 PM
    @russhwolf @kpgalligan I found a similar issue on flutters github. This was a bug in ios 13.3 related to using Personal Team provisioning profiles The fix is upgrading ios to 13.4, downgrading below 13.3 or using a paid developer account. Thank you for your help 🙂
    🎉 1
    r
    • 2
    • 1
  • k

    kpgalligan

    04/09/2020, 12:59 PM
    I think we should maybe start from, what’s the use case? Is the singleton never frozen because it’s a cache and the state is changing often?
    p
    • 2
    • 3
  • c

    coletz

    04/16/2020, 8:35 PM
    Am I the only one having some sort of "cache" problems with ios builds? I think it's something with the new cocoapodsext, need to try with the old xcodesync plugin but that's the only thing I've changed so far "cache" problem example: I add a print("hi") on the common code, on android it is printed, on ios it doesn't appear for a random amount of builds/clean; lib is rebuilt every time I change a single line (build time is up to 3 minutes), but code seems to be "old" EDIT: can confirm I have problems with the cocoapodsext plugin, using the old xcodesync method code is updated correctly at each run
    r
    k
    • 3
    • 5
  • k

    kpgalligan

    04/26/2020, 3:47 PM
    ‘what is the meaning of “-Xg0?“’ This is for crash reporting. It turns off some compiler optimizations. Exactly what gets disabled and if you need it is still on the personal “to research” list, but it was in the docs related to the code commit involved. The crash reporting library wasn’t ultimately added to KaMPKit because you need to have an account with either Crashlytics or Bugsnag. If you’re not doing that you can remove it. https://github.com/touchlab/CrashKiOS
    c
    • 2
    • 3
  • f

    Friedger

    04/27/2020, 1:01 PM
    I don't want to publish on maven
    m
    r
    • 3
    • 25
  • p

    phldavies

    04/28/2020, 3:12 PM
    Is there any way to run the
    iosTests
    on a real device? I’m seeing an issue with a regex being applied causing a SIGSEGV (seeingly stack related) that isn’t being reproduced when tested
    r
    • 2
    • 2
  • k

    kpgalligan

    04/30/2020, 1:02 PM
    I don’t know. I think we’ve been 100% focused on trying to work around the ios issue. I would start with the android side should probably just be a pass-through. I don’t think it needs to have a child context. I was doing that for symmetry, but the native side is already pretty hacky.
    p
    r
    • 3
    • 5
  • e

    Erik Zambrano

    04/30/2020, 5:06 PM
    Hey everyone! 👋 Our series of mini Zoom webinars returns next week (Mon & Tues, 1 PM EST). @russhwolf will present on Monday on his open source library, multiplatform settings. On Tuesday, we’ll be joined by Ahmed El-Helw (Android lead, Careem) from Dubai. He talk his latest exploration of KMP multithreading and lessons putting KMP into production. Register link: https://zoom.us/meeting/register/tZcrcu6qqDwvpfYfRWO8YrZExVRRQOMXHQ Feel free to invite anyone you know would be interested and register yourself! See you next week.
    t
    • 2
    • 2
  • p

    phldavies

    05/22/2020, 8:54 AM
    Has anyone else encountered issues switching to a dynamic framework? I had assumed it was a matter of changing
    isStatic = false
    , regenerating the podspec and pod-installing, However I’m getting a
    dyld: Library not loaded
    with
    Reason: image not found
    (the path is
    @rpath/<name>.framework/<name>
    so seems right). Have I missed something obvious?
    k
    • 2
    • 2
  • p

    phldavies

    05/29/2020, 8:25 PM
    Will there be a release of the
    cocoapodsext
    fork any time soon? It seems like it should support a FatFramework but with the current 0.9 release still using
    single()
    it currently fails when there are multiple targets with frameworks.
    r
    s
    • 3
    • 4
  • d

    David Chavez

    06/04/2020, 3:27 PM
    Has anyone had issues when importing pods into the kmp project? I'm getting some
    undefined symbols
    errors: I created an issue in the cocoapods plugin repo, but perhaps kampkit is a better place: https://github.com/touchlab/KotlinCocoapods/issues/10
    r
    • 2
    • 9
  • e

    esdudnik

    06/05/2020, 4:30 PM
    Hello all. Does anybody know why cocoapodsext and cocoapods gradle plugin doesn’t work on Xcode 11.5? Made everything as described here https://github.com/touchlab/KaMPKit/blob/master/docs/IOS_PROJ_INTEGRATION.md Just replaced cocoapods with cocoapodsext (as here https://github.com/touchlab/KaMPKit/blob/master/shared/build.gradle.kts) gradle task(“podspec”) works, pods generated, after adding in Podfile, dependency added(“pod install” install my commonCode), in Xcode in “Development Pods” my commonCode framework exist, but building project in Xcode show error
    ld: framework not found commonCode
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    Xcode version 11.5, Android studio 4.1, Gradle plugin version “4.1.0-alpha10", Kotlin “1.3.72”. I tried both
    id("co.touchlab.native.cocoapods")
    id("org.jetbrains.kotlin.native.cocoapods")
    but none of them works with Xcode 11.5
    r
    • 2
    • 5
  • g

    GurpreetSK

    06/06/2020, 1:53 PM
    Hey everyone. I’m facing this error while trying to build the project. Can someone help? The class is
    BreedModel.kt
    r
    • 2
    • 2
  • f

    Friedger

    06/17/2020, 3:24 PM
    no such module 'shared'
    k
    • 2
    • 8
  • f

    Friedger

    06/17/2020, 6:08 PM
    In https://github.com/touchlab/KaMPKit/blob/master/docs/IOS_PROJ_INTEGRATION.md, I see how to integrate a kamp library into an ios project using swift. Does it work the same way for an objective-C project?
    • 1
    • 1
  • k

    kpgalligan

    06/18/2020, 3:32 PM
    I’m going to create a ticket to change that. It’s OK for this small project, but you’ll want to explicitly init from
    AppDelegate
    in a real project. Also,
    KoinIOS()
    is confusing because it looks like it’s a new instance, but that’s just how you reference a global Kotlin object from Swift, with the
    ()
    . It doesn’t actually make a new instance.
    👍 1
    r
    • 2
    • 1
Powered by Linen
Title
k

kpgalligan

06/18/2020, 3:32 PM
I’m going to create a ticket to change that. It’s OK for this small project, but you’ll want to explicitly init from
AppDelegate
in a real project. Also,
KoinIOS()
is confusing because it looks like it’s a new instance, but that’s just how you reference a global Kotlin object from Swift, with the
()
. It doesn’t actually make a new instance.
👍 1
r

Ragyal

06/18/2020, 4:35 PM
Thanks,
()
has actually confused me.
View count: 2