问题标签 [kotlin-multiplatform-mobile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
236 浏览

xcode - 我的 KMM 项目无法在 iPhone 模拟器上运行

我有一个在 android 上完美运行的 KMM 项目,但是当我在 Xcode 上为 IOS 部分打开项目并尝试在模拟器上运行它时,它不会编译器抛出以下错误:

BUILD FAILED in 3s Command PhaseScriptExecution 失败,退出代码非零

出了什么问题:在项目“:shared”中找不到任务“embedAndSignAppleFrameworkForXcode”。

该应用程序确实在我的物理 iPhone 上运行。

我有两个问题:

  1. 我该如何解决这个问题?(如果有修复)
  2. 我是否可以在没有模拟器的情况下自信地处理我的项目,或者我是否应该将此错误视为我的项目存在问题的迹象?

Kotlin 版本:1.5.31 使用 SQLDelight 和序列化依赖项在带有 M1 的 Mac 上运行。

0 投票
1 回答
26 浏览

kotlin-multiplatform - 如何在打包好的框架中删除这些组件

这些组件没用,如何删除[1]:https ://i.stack.imgur.com/hXllo.png

0 投票
1 回答
53 浏览

kotlin-multiplatform - 使用字符串作为 id

我正在使用 SQLDelight 作为缓存制作 KMM 应用程序,最近我将数据库实体更改为使用 Text(String) 作为 id 字段而不是 Int,现在插入时出现错误,我可能只是缺少一些 sqlDelight 知识

这是我的桌子:

这是我的插入方法:

这是我的错误:

我认为这很可能是我在 id 字段上设置的主键或类似的东西,但文档有点短。

0 投票
0 回答
36 浏览

kotlin-multiplatform - 在集成到 iOS 的 Xcode 中时,在 Kotlin Multiplatform 移动设备上的网络调用所花费的时间大约是原生的 6-7 倍

为要集成到 Xcode 中的演示项目/POC 生成了一个框架,但是在比较网络调用时,我发现通过 KMM 完成的网络调用所花费的时间比在本机 swift 中完成的相同调用要多出 6-7 倍。

我在网上尝试了很多搜索,但找不到任何可能在 iOS 中遇到与 KMM 类似问题的资源/用例。

0 投票
1 回答
76 浏览

arrays - 无法将 mutableList 映射到字符串数组 KMM -> Swift

我是 swift 新手,我一直在尝试将这组员工映射到一组员工姓名(字符串)。我究竟做错了什么?

这是一个 KMM 项目,因此对象定义是用 Kotlin 编写的

错误:“NSArray.Element”(又名“Any”)类型的值没有成员“名称”

0 投票
4 回答
974 浏览

cocoapods - 使用 cocoaPods 设置 KMM 项目在第一次编译时失败

我创建了一个新的 KMM 项目并为 iOS 框架分发选择了 Cocoapods,一旦它完成构建,它就会抛出以下错误:

执行“pod install”失败,代码为 1。错误消息:

请检查文件“/Users/barryalan/AndroidStudioProjects/PersonalProjects/deleteThis/iosApp/Podfile”在标题中包含以下行:source 'https://cdn.cocoapods.org'

请检查依赖于 shared 的每个目标是否包含以下依赖项:

鉴于这仍处于 alpha 阶段,我不能抱怨,但我确实需要一些有关如何解决此问题的指导。

0 投票
2 回答
54 浏览

kotlin-multiplatform - 新的 KMM 项目不包含 Assets.xcassets

我创建了一个新的 KMM 项目,并且想要将一些图像添加到 iPhone 应用程序中。此时我注意到没有 Assets.xcassets 文件。我创建了一个全新的项目来仔细检查我没有意外删除它,我没有。在 KMM 上是否有其他方法可以执行此操作,或者我是否需要手动添加资产文件?

0 投票
1 回答
65 浏览

ktor - Ktor 中的特殊字符解析

我正在尝试在 KMM 项目中使用 Ktor 通过 api 解析一些特殊字符,但似乎 Ktor 不支持它?

例如:-我试图在这里解析“Saut� Pans”,“�”是一个特殊字符,Ktor 抛出一个异常说:- io.ktor.utils.io.charsets.MalformedInputException: Input length = 1。现在我尝试传递不同的标题,例如传递不同ContentTypeUTF-8ISO-8859-2但没有帮助.

而解析相同的 api 响应Gson()对我有用。

任何解决方案或解决方法,以便我现在可以在我的响应中解析这种特殊字符?

0 投票
0 回答
156 浏览

kotlin - KMM:只需要在 Apple Silicon 上以 Rosetta 模式运行 Xcode

目前,我无法在 Xcode(M1 芯片)中部署和编译我的 kmm 项目,出现以下错误:

但是当我使用Rosetta模式时,它会成功,这个问题的原因是什么,我该如何一劳永逸地解决它?

这是我的build.gradle内容的一部分:</p>

我的jdk是Amazon Corretto 17

build.gradle(共享部分) kotlin { android()

0 投票
2 回答
211 浏览

swift - 在 Swift 类中实现 Kotlin 接口

我在一个新的 Kotlin Multiplatform 移动项目中工作,我无法将 Kotlin 接口实现到 Swift 类中。

这是我的设置:

从 kotlin 通用(共享)模块:

在 Swift 中实现协议(我相信协议是由 Kotlin/Native 生成​​的):

Xcode项目可以看到生成的通用框架,我可以跳转到框架内的类/协议定义

但是构建 Xcode 项目不断导致这个错误:

类型“DBUserSource”不符合协议“LocalUserSource”

当我在 Xcode 中使用“修复”选项时,它会不断重复该方法并显示相同的错误。我已经尝试了所有方法来清理 android studio(我正在运行 gradle build)和 Xcode。

奇怪的是,我看过这个作品。我已经将用户保存并读取到核心数据,但今天我无法让 iOS 方面的工作正常工作。只是想知道是否有人经历过类似的事情,并有任何指示。

这里还有来自通用框架的objective-c定义: