Kotlin 多平台移动 - 无法运行 iOS 项目 - 缺少此目标所需的一个或多个架构
Posted
技术标签:
【中文标题】Kotlin 多平台移动 - 无法运行 iOS 项目 - 缺少此目标所需的一个或多个架构【英文标题】:Kotlin multiplatform mobile - fail to run iOS project - missing one or more architectures required by this target 【发布时间】:2021-01-07 12:00:28 【问题描述】:我使用 android studio 4.1 RC3 创建 KMM(Kotlin multiplatform mobile) 项目并尝试运行 ios 应用程序(使用默认代码)但遇到以下错误:
错误:链接和嵌入式框架“shared.framework”是 缺少此目标所需的一个或多个架构:arm64。 (在 从项目“iosApp”中定位“iosApp”)
但是当我点击“构建”时,它会成功构建。仅当从 Android 工作室点击“运行”时才会发生。同时,我使用 Xcode 运行相同的项目并且成功将其部署到模拟器中没有遇到任何问题。
顺便说一句,我正在关注这个官方 KMM 指南 https://kotlinlang.org/docs/mobile/create-first-app.html
使用 Mac OS Catalina 10.15.6 使用 Xcode 14(我尝试了 iOS14、13.5、12.1 的模拟器)
【问题讨论】:
【参考方案1】:这个问题很可能是由 Xcode 12 添加新的模拟器架构引起的。作为一种解决方法,可以尝试将arm64
添加到Build Settings
中的Disable Architectures
列表中。查看相关问题here
【讨论】:
我已将 arm64 添加到使用 xcode 的排除架构构建设置中。现在 iPhone 模拟器启动了,但应用程序没有安装在上面。看起来像是一个已知问题。 与@Niroshan 相同的问题。我现在的解决方法是从 AS 运行应用程序,然后从 XCode 运行它,该 XCode 将从上一次执行中更新以上是关于Kotlin 多平台移动 - 无法运行 iOS 项目 - 缺少此目标所需的一个或多个架构的主要内容,如果未能解决你的问题,请参考以下文章
无法在 commonMain 中为 kotlin 多平台使用依赖项
无法将 FirebaseAnalytics 或 Crashlytics cocoapod 添加到 kotlin 多平台共享模块