模拟器与物理设备:一次使用后 NavigationLink 损坏
Posted
技术标签:
【中文标题】模拟器与物理设备:一次使用后 NavigationLink 损坏【英文标题】:Simulator vs Physical Device: NavigationLink broken after one use 【发布时间】:2019-11-27 17:05:32 【问题描述】:我正在使用 SwiftUI 创建一个 ios 应用。我正在使用:
Xcode 版本 11.3 测试版 (11C24b) 运行 iOS 13.3 的 iPad 模拟器 同时运行 iOS 13.3 的实体 iPad但是,该应用在两种设备上的行为不同。例如在物理 iPad 上,NavigationLink
只能使用一次。
这是我的第一个 iOS 应用。所以我想知道如何规避或解决这类错误?
import SwiftUI
enum ExerciseType: String, CaseIterable, Codable, Hashable
case vowels = "Vowels"
case special = "Special Characters"
case small = "Small Characters"
case long = "Long Vovels"
enum LessonType: String, CaseIterable, Codable, Hashable
case hiragana = "Introduction to Hiragana"
case katakana = "Introduction to Katakana"
case kanji = "Introduction to Kanji"
struct ContentView: View
var body: some View
NavigationView
Form
Section(header: Text("Default Lesson"))
List
ForEach(LessonType.allCases, id:\.self) lesson in
NavigationLink(destination: LessonView(), label: Text(lesson.rawValue))
.navigationBarTitle("iPad NavigationLink")
.navigationViewStyle(StackNavigationViewStyle())
struct LessonView: View
var body: some View
Form
List
ForEach(ExerciseType.allCases, id:\.self) exercise in
NavigationLink(destination: Text(exercise.rawValue), label: Text(exercise.rawValue))
【问题讨论】:
请分享您的表格视图代码。 当然,我添加了一些在真 iPad 上不起作用的示例代码 forums.developer.apple.com/message/395130 "同时运行 iOS 13.3 的物理 iPad" ...您是指 iPadOS 吗? :D 【参考方案1】:Apple 在 iOS 13.3 beta 4 中修复了该错误。请记住,iOS 13.3 在您测试它时处于测试阶段。这不是 iOS 13.2 中的错误,因此无需担心。
【讨论】:
【参考方案2】:在 Xcode 11.3 (11C29) 上测试
在 iOS 13.3 设备上运行时已修复,但在 iOS 13.3 模拟器上未修复。
【讨论】:
以上是关于模拟器与物理设备:一次使用后 NavigationLink 损坏的主要内容,如果未能解决你的问题,请参考以下文章
关于路由交换设备接头物理层或协议层无法UP及其他情况案例分析