SwiftUI:当在 macOS Mojave 上聚焦 TextField 时,应用程序在模拟器中挂起

SwiftUI: App hangs in Simulator when focusing TextField on macOS Mojave

我最近从使用 Catalina beta 在 Macbook Pro 上编写 SwiftUI 代码改为使用 Mojave 10.14.6 (18G103)

使用 iPhone 模拟器 ,每当我聚焦 TextField,即使是最简单的应用程序也会挂起。我无法输入任何文本,也无法聚焦另一个文本字段。

但使用 iPhone Device(而不是模拟器)或使用 Catalina Beta(使用模拟器或设备)。

有其他人遇到过这个问题吗?

示例代码

struct ContentView: View {

    @State private var firstName = ""
    @State private var lastName = ""

    // Using an iOS 13 Simulator, focusing any of the TextFields below on macOS Mojave result in the app hanging. We cannot input anything and we cannot focus another textfield.
    // However, this works just fine on macOS Catalina Beta `19A558d` (will upgrade to Beta 11 now)
    var body: some View {
        VStack {
            TextField("First", text: $firstName)

            TextField("Last", text: $lastName)
            Text("Your name: '\(firstName) \(lastName)'")
        }

    }
}

尝试退出您的模拟器,然后 运行 终端中的此命令:

rm ~/Library/Preferences/com.apple.iphonesimulator.plist

也许不是最方便的解决方案,但自从 Catalina 今天发布以来,我尝试更新到它并解决了问题。

我遇到了同样的问题。我通过杀死模拟器并启动一个新的模拟器来解决它。之后一切正常。