簡體   English   中英

在范圍內找不到“問候語”

[英]Cannot find "Greeting" in scope

我在 Android Studio 中構建了一個 KMM 項目,但 ios 應用程序似乎沒有看到共享模塊中的類。 最初它運行良好,但現在我修改了共享模塊中的一些類,出現錯誤。

我的項目結構是這樣的: 項目結構

如您所見,Platform 類中存在一些編譯錯誤,但 android 應用程序運行良好。 錯誤說“功能“多平台項目”是實驗性的,應該明確啟用”。

ios 應用程序如下所示:

應用程序

后來編輯:

所以顯然我發現當我在公共源集中的 shared.build.gradle 中添加這個依賴項時遇到了這個錯誤:

        val commonMain by getting {
            dependencies {
//                implementation("io.ktor:ktor-client-core:$ktorVersion")
//                implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
//                implementation("io.ktor:ktor-client-json:$ktorVersion")
//                implementation("io.ktor:ktor-client-serialization-jvm:$ktorVersion")
            }
        }

我需要這些依賴項來向我的 ktor 服務器發出請求。

更新:所以問題是我在公共集中添加了一些庫,而這些庫沒有多平台支持。

第一次構建 iOS 應用程序時,您可能需要cd iosApp && pod install

如果 Xcode 錯誤僅出現在源代碼中,但您實際上並未嘗試構建它,則需要嘗試“構建”項目。 這將觸發 Kotlin 運行,這將在共享標頭中生成Greeting的聲明,swift 可以看到這一點。

本質上,當您更改 Kotlin 時,Xcode 無法立即看到這些更改,因此您在編寫代碼時會收到錯誤消息。

我假設“最初它運行良好”是准確的,在這種情況下,您可能只需要重新運行構建。 關於The feature "multi platform projects" is experimental and should be enabled explicitly的部分The feature "multi platform projects" is experimental and should be enabled explicitly是我看到的一條消息,但我認為是一個警告。 我認為不需要在任何地方啟用它,除非您可能將警告配置為被視為錯誤。 不過,我已經有一段時間沒有設置新項目了,所以可能通過復制/粘貼設置了一些我不知道的內容。

所以問題是我在公共集中添加了一些庫,而這些庫沒有多平台支持。 應該多加注意。

我創建了一個新的 KMM 默認應用程序並選擇了 cocoapods 選項。 在 Android Studio 中,我打開了 iosApp.xcodeproj - 這就是我收到錯誤的原因。

相反,我必須打開 iosApp.xcworkspace。 通過另外運行cd iosApp && pod install我能夠從 Xcode 構建和運行應用程序。

從 Android Studio 打開 Xcode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM