Симулятор против физического устройства: NavigationLink разрывается после одного использования

Я создаю приложение для iOS с SwiftUI. Я использую:

  • Xcode версии 11.3 бета (11C24b)
  • iPad Simulator под управлением iOS 13.3
  • Физический iPad под управлением iOS 13.3

Однако приложение работает по-разному на двух устройствах. Например, на физическом iPadNavigationLink можно использовать только один раз.

Это мое первое приложение для 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)})
                }
            }
        }
    }
}

2 ответа

Ошибка исправлена ​​Apple в iOS 13.3 beta 4. Имейте в виду, что iOS 13.3 находилась в стадии бета-тестирования в то время, когда вы ее тестировали. Это не было ошибкой в ​​iOS 13.2, поэтому беспокоиться больше не о чем.

Протестировано на Xcode 11.3 (11C29)

Это исправлено при работе на устройстве iOS 13.3, но не на симуляторе iOS 13.3.

Другие вопросы по тегам