You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hypothesis: Xcode executes task :ivy:embedAndSignAppleFrameworkForXcode, that build all the Kotlin files, and triggers :ivy:swiftklibKCryptoIosSimulatorArm64, however environment variables containing the build target are not passed or misinterpreted by the swiftklibKCryptoIosSimulatorArm64 task, therefore, when is executed from the Xcode, it builds for MacOS target, which is rejected in next step, as the rest of the project is for iPhone Simulator.
We also observe the same behavior when building for iOS generic devices (e.g., production build).
Strange workaround in Android Studio:
Doing Gradle Sync in Android Studio performs these tasks:
After these tasks have run, the XCode build succeeds. This is the output of Kotlin build executed by Xcode -- UP-TO-DATE, therefore skipping the KLib build as it has been already done from the Android Studio environment.
From my understanding, these tasks should NOT be executed at all for the Android environment. (Or maybe they should, but only on MacOS, so Android Studio can see contents of references Swift files, and Intelli Sence works)
For some reason, it builds for the correct target, even when there are missing Xcode environment variables defining the target, as it is built inside Android Studio.
As this Swift-KLib build is always triggered, it blocks the build on our Linux CI, where we build Android binaries, referencing separate issue: Unable to sync project on Linux host #16
Hello, we've run into a curious issue, while trying to use your plugin in our KPM project.
Steps to reproduce:
15.4or15.3.invalid swift manifesterror as it builds from MacOS, even though the target is set to build for iPhone Simulator.Hypothesis: Xcode executes task
:ivy:embedAndSignAppleFrameworkForXcode, that build all the Kotlin files, and triggers:ivy:swiftklibKCryptoIosSimulatorArm64, however environment variables containing the build target are not passed or misinterpreted by the swiftklibKCryptoIosSimulatorArm64 task, therefore, when is executed from the Xcode, it builds for MacOS target, which is rejected in next step, as the rest of the project is for iPhone Simulator.We also observe the same behavior when building for iOS generic devices (e.g., production build).
Strange workaround in Android Studio:
Doing Gradle Sync in Android Studio performs these tasks:
After these tasks have run, the XCode build succeeds. This is the output of Kotlin build executed by Xcode --
UP-TO-DATE, therefore skipping the KLib build as it has been already done from the Android Studio environment.What is strange here?