Как я могу использовать UIReferenceLibraryViewController в приложении SwiftUI? - PullRequest
0 голосов
/ 13 февраля 2020

Я могу использовать SFSafariViewController в своем приложении SwiftUI с видом, который соответствует UIViewControllerRepresentable, но я не могу сделать то же самое для UIReferenceLibraryViewController.

Когда язык словарь доступен, например, на моем устройстве, и мой термин может быть определен, мое приложение неожиданно ломается в UIReferenceLibraryViewController, и дисплей моего приложения пуст. Когда мой термин gibberi sh или словарь языка недоступен, например, в Preview или Simulator, мое приложение, как и ожидалось, отображает представление без определения.

Мое приложение, как и следующий небольшой пример неожиданно обрывается в:

return UIReferenceLibraryViewController (term: "hello") // Поток 1: EXC_BREAKPOINT (code = 1, субкод = 0x1e4bee02 c

import SwiftUI

struct ContentView: UIViewControllerRepresentable {
    func makeUIViewController(context: UIViewControllerRepresentableContext<ContentView>) -> UIReferenceLibraryViewController {
        return UIReferenceLibraryViewController(term: "hello")
    }

    func updateUIViewController(_ uiViewController: UIReferenceLibraryViewController, context: UIViewControllerRepresentableContext<ContentView>) {
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Изменение примера для соответствия UIViewRepresentable или вставка UIViewController в иерархию приводит к тому же результату.

Добавление UIReferenceLibraryViewController .dictionaryHasDefinition для защиты вызовов к UIReferenceLibraryViewController не меняет поведение.

Я уже некоторое время программирую, но я новичок в Swift и SwiftUI. Боюсь, что я могу упустить или неправильно понять основы c Swift или Концепция SwiftUI.

Что я могу сделать, чтобы UIViewControllerRepresentable работал в SwiftUI?

Xcode 11.3.1, iOS 13.3.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...