【问题标题】:SwiftUI: App hangs in Simulator when focusing TextField on macOS MojaveSwiftUI:在 macOS Mojave 上聚焦 TextField 时,应用程序在模拟器中挂起
【发布时间】:2020-02-04 23:04:18
【问题描述】:

我最近从使用 Catalina 测试版的 Macbook Pro 上的 SwiftUI 编码更改为使用 Mojave 10.14.6 (18G103) 的 Macbook Pro。

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

但它可以使用 iPhone 设备(而不是模拟器)或使用 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)'")
        }

    }
}

【问题讨论】:

  • 是的,我也明白了。它一定是在后来的 Xcode 测试版之一中开始的。我偶尔会收到找不到正确键盘的错误消息,但我无法重现该消息以提交反馈。
  • 太烦人了
  • 出于好奇,您在 Mojave 10.14.6 的最新补充更新后尝试过吗?我刚刚尝试了您的示例代码,但无法重现该问题,而我最近唯一做的就是今天早些时候的更新。
  • 是的,事实上我确实尝试过更新,然后一开始它起作用了,但后来又失败了。也许我应该尝试删除并重新创建模拟器?
  • 我在 Xcode 的 App Store 版本下线后不久就这样做了,所以没有解决它。也许重新启动可以暂时解决问题?如果我再次发现它,我会提交反馈并在此处发布号码。

标签: ios xcode ios-simulator swiftui xcode11


【解决方案1】:

尝试退出你的模拟器,然后在终端中运行这个 cmd:

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

【讨论】:

    【解决方案2】:

    也许不是最方便的解决方案,但自从今天发布了 Catalina,我尝试对其进行更新,问题得到了解决。

    【讨论】:

    • 这很酷。有趣的是,它发生在我使用 Catalina 时。
    【解决方案3】:

    我有同样的问题。我通过杀死模拟器并开始一个新的模拟器来解决它。之后效果很好。

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      • 2022-10-21
      • 1970-01-01
      • 2019-01-14
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多