For those of you who haven't yet fully descended d...
# kotlin-native
j
For those of you who haven't yet fully descended down the rabbit hole that is building a truly universal XCFramework for all iOS and macOS platform variants, I have published a gist with some custom gradle tasks that generate the desired result. Specifically, if you have a Kotlin Multiplatform library targeting all modern Macs (M1 Apple Silicon and Intel) and all iOS devices and simulators: •
iosx64
•
iosArm64
•
iosSimulatorArm64
•
macosX64
•
macosArm64
...you can use these tasks to generate an XCFramework that works for all of them. XCFramework.kts The only 'official' Apple documentation on how to create such a framework (at least that I could find) is in an Apple forums post, so hopefully sharing this will (a) save other people time, and (b) lead to improvements on my amateurish gradle code!
🔍 1
👍🏼 1
🎉 5
s
1.5.30 introduced support for XCFrameworks. https://kotlinlang.org/docs/whatsnew1530.html#support-for-xcframeworks. Does your code need to work differently?
j
Unfortunately, using the built-in support does not do the lipo'ing necessary to produce a universal XCFramework (at least as of the last time I tried it, which was in the 1.5.31 series). Of course I would love to nuke the code I shared into oblivion in favor of a built-in way to do this...
l
Would you open an issue on kotl.in/issue requesting universal XCFrameworks support, and linking your script?