Почему эта ошибка возникает на симуляторе Xcode 11, а не на iPad mini adho c, где он работает плавно? Следующий вывод выводится в отладчике после сбоя. Кроме того, как это можно исправить?
'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<Player.Player: 0x7fcd6898aa00> should have parent view controller:<Cards.DetailViewController: 0x7fcd67d781e0> but actual parent is:<Superapps.PlayerViewController: 0x7fcd67d67490>'
Вывод отладчика
... введите описание изображения здесь
***PlayerViewController.Swift***
// PlayerViewController.Swift
import UIKit
import Cards
let videoUrl = URL(string: "")!
let localUrl = Bundle.main.url(forResource: "My Movie 14", withExtension: "mp4")
class PlayerViewController: UIViewController {
@IBOutlet weak var btn: UIButton!
@IBOutlet weak var card: CardPlayer!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
override func viewDidLoad() {
super.viewDidLoad()
//btn rounded corners
btn.layer.cornerRadius = 10
btn.clipsToBounds = true
card.videoSource = localUrl
card.shouldDisplayPlayer(from: self) //Required.
card.playerCover = UIImage(named: "rainbow!")! // Shows while the player is loading
card.playImage = UIImage(named: "logo (1) copy.png")! // Play button icon
card.isAutoplayEnabled = false
card.shouldRestartVideoWhenPlaybackEnds = true
card.title = "Superapps!"
//watch our commercial to learn more
card.subtitle = ""
card.category = "Professional Ecommerce Apps!"
let cardContent = storyboard?.instantiateViewController(withIdentifier: "CardContent5")
card.shouldPresent(cardContent, from: self)
}
}
Как это решить? После некоторого поиска по переполнению стека кажется, что исправление должно иметь индивидуальное решение, включающее некоторый код.
Обновление
Когда следующие два строки swift закомментированы, приложение больше не вылетает.
let cardContent = storyboard?.instantiateViewController(withIdentifier: "CardContent5")
card.shouldPresent(cardContent, from: self)
Как можно изменить этот код, чтобы сохранить функциональность?
Обновление 2
Пробовал следующее. Приложение не сканирует sh, но кнопка ничего не загружает.
let cardContent = storyboard?.instantiateViewController(withIdentifier: "CardContent5")
card.shouldPresent(cardContent, from:storyboard?.instantiateViewController(withIdentifier: "CardContent5"))