问题标签 [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.
xcode - 我的 KMM 项目无法在 iPhone 模拟器上运行
我有一个在 android 上完美运行的 KMM 项目,但是当我在 Xcode 上为 IOS 部分打开项目并尝试在模拟器上运行它时,它不会编译器抛出以下错误:
BUILD FAILED in 3s Command PhaseScriptExecution 失败,退出代码非零
出了什么问题:在项目“:shared”中找不到任务“embedAndSignAppleFrameworkForXcode”。
该应用程序确实在我的物理 iPhone 上运行。
我有两个问题:
- 我该如何解决这个问题?(如果有修复)
- 我是否可以在没有模拟器的情况下自信地处理我的项目,或者我是否应该将此错误视为我的项目存在问题的迹象?
Kotlin 版本:1.5.31 使用 SQLDelight 和序列化依赖项在带有 M1 的 Mac 上运行。
kotlin-multiplatform - 使用字符串作为 id
我正在使用 SQLDelight 作为缓存制作 KMM 应用程序,最近我将数据库实体更改为使用 Text(String) 作为 id 字段而不是 Int,现在插入时出现错误,我可能只是缺少一些 sqlDelight 知识
这是我的桌子:
这是我的插入方法:
这是我的错误:
我认为这很可能是我在 id 字段上设置的主键或类似的东西,但文档有点短。
kotlin-multiplatform - 在集成到 iOS 的 Xcode 中时,在 Kotlin Multiplatform 移动设备上的网络调用所花费的时间大约是原生的 6-7 倍
为要集成到 Xcode 中的演示项目/POC 生成了一个框架,但是在比较网络调用时,我发现通过 KMM 完成的网络调用所花费的时间比在本机 swift 中完成的相同调用要多出 6-7 倍。
我在网上尝试了很多搜索,但找不到任何可能在 iOS 中遇到与 KMM 类似问题的资源/用例。
arrays - 无法将 mutableList 映射到字符串数组 KMM -> Swift
我是 swift 新手,我一直在尝试将这组员工映射到一组员工姓名(字符串)。我究竟做错了什么?
这是一个 KMM 项目,因此对象定义是用 Kotlin 编写的
错误:“NSArray.Element”(又名“Any”)类型的值没有成员“名称”
cocoapods - 使用 cocoaPods 设置 KMM 项目在第一次编译时失败
我创建了一个新的 KMM 项目并为 iOS 框架分发选择了 Cocoapods,一旦它完成构建,它就会抛出以下错误:
执行“pod install”失败,代码为 1。错误消息:
请检查文件“/Users/barryalan/AndroidStudioProjects/PersonalProjects/deleteThis/iosApp/Podfile”在标题中包含以下行:source 'https://cdn.cocoapods.org'
请检查依赖于 shared 的每个目标是否包含以下依赖项:
鉴于这仍处于 alpha 阶段,我不能抱怨,但我确实需要一些有关如何解决此问题的指导。
kotlin-multiplatform - 新的 KMM 项目不包含 Assets.xcassets
我创建了一个新的 KMM 项目,并且想要将一些图像添加到 iPhone 应用程序中。此时我注意到没有 Assets.xcassets 文件。我创建了一个全新的项目来仔细检查我没有意外删除它,我没有。在 KMM 上是否有其他方法可以执行此操作,或者我是否需要手动添加资产文件?
ktor - Ktor 中的特殊字符解析
我正在尝试在 KMM 项目中使用 Ktor 通过 api 解析一些特殊字符,但似乎 Ktor 不支持它?
例如:-我试图在这里解析“Saut� Pans”,“�”是一个特殊字符,Ktor 抛出一个异常说:- io.ktor.utils.io.charsets.MalformedInputException: Input length = 1
。现在我尝试传递不同的标题,例如传递不同ContentType
的UTF-8
或ISO-8859-2
但没有帮助.
而解析相同的 api 响应Gson()
对我有用。
任何解决方案或解决方法,以便我现在可以在我的响应中解析这种特殊字符?
kotlin - KMM:只需要在 Apple Silicon 上以 Rosetta 模式运行 Xcode
目前,我无法在 Xcode(M1 芯片)中部署和编译我的 kmm 项目,出现以下错误:
但是当我使用Rosetta模式时,它会成功,这个问题的原因是什么,我该如何一劳永逸地解决它?
这是我的build.gradle内容的一部分:</p>
我的jdk是Amazon Corretto 17
build.gradle(共享部分) kotlin { android()
swift - 在 Swift 类中实现 Kotlin 接口
我在一个新的 Kotlin Multiplatform 移动项目中工作,我无法将 Kotlin 接口实现到 Swift 类中。
这是我的设置:
从 kotlin 通用(共享)模块:
在 Swift 中实现协议(我相信协议是由 Kotlin/Native 生成的):
Xcode项目可以看到生成的通用框架,我可以跳转到框架内的类/协议定义
但是构建 Xcode 项目不断导致这个错误:
类型“DBUserSource”不符合协议“LocalUserSource”
当我在 Xcode 中使用“修复”选项时,它会不断重复该方法并显示相同的错误。我已经尝试了所有方法来清理 android studio(我正在运行 gradle build)和 Xcode。
奇怪的是,我看过这个作品。我已经将用户保存并读取到核心数据,但今天我无法让 iOS 方面的工作正常工作。只是想知道是否有人经历过类似的事情,并有任何指示。
这里还有来自通用框架的objective-c定义: