https://kotlinlang.org logo
#ios
Title
# ios
c

CLOVIS

02/26/2023, 4:48 PM
Hi! I am developing a Kotlin Multiplatform library (if you're curious: #decouple). A contributor is planning on introducing iOS support for it. I myself have no knowledge of iOS development (but I'm quite familiar with Kotlin multiplatform itself, mainly JVM and JS). I'm not worried about the Gradle setup, but I am worried about my ability of checking features and avoiding regressions. From what I've heard (again, my knowledge of the Apple world is near zero), it's not possible to compile an iOS library without an MacOS machine. Is it true? Is it the case even through Docker? I do not have a MacOS machine, I only run Linux variants. If that's the case, how can I test changes contributed to the library?
m

MarkRS

02/26/2023, 7:52 PM
Yes, you need a Mac machine to do Mac things. I think the standard way (or at least, this is what my research showed, and I did) is to get a Mac Mini. It is (or can be) the least expensive form of Mac
f

Foso

02/26/2023, 8:05 PM
For the compiling of the library you could also use the MacOS GitHub Actions runner
c

CLOVIS

02/27/2023, 7:28 AM
@Foso I'm not a GitHub user. @MarkRS I see. Apple really doesn't want open source stuff... If I did do that then I would force all contributors to buy one as well.
l

Lukáš Kúšik

02/27/2023, 9:12 AM
There are ways to run MacOS in a VM, check out this project for example https://github.com/sickcodes/Docker-OSX
r

russhwolf

02/27/2023, 2:30 PM
If github is an issue, any other CI service with access to macos hosts will work just as well.
l

Landry Norris

02/27/2023, 2:51 PM
There's also a dockerfile that allows you to run macos on linux, but I haven't used it, so can't speak to performance or reliability. https://github.com/sickcodes/Docker-OSX
d

darkmoon_uk

03/04/2023, 10:27 PM
I've tried this, it's rather involved to set up. The Docker aspect doesn't bring the typical Docker convenience, it's more about instance control. My advice would still be to purchase Mac Mini if you have the means and value your time. YMMV.
7 Views